split geo
This commit is contained in:
parent
ee4e9e7762
commit
1bb72398c5
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
id: geo
|
id: geo-pri
|
||||||
title: "Geometry"
|
title: "Geometry Primitives"
|
||||||
author: Benjamin Qi
|
author: Benjamin Qi
|
||||||
description: Geometry primitives and convex hull.
|
description: Basic setup for geometry problems and introduction to line sweep.
|
||||||
---
|
---
|
||||||
|
|
||||||
## Primitives
|
## Primitives
|
||||||
|
@ -16,7 +16,6 @@ You should know basic operations like cross product and dot product. For platinu
|
||||||
- convex hulls
|
- convex hulls
|
||||||
- polygon area
|
- polygon area
|
||||||
- point in polygon
|
- point in polygon
|
||||||
- closest pair of points
|
|
||||||
- CPH 29
|
- CPH 29
|
||||||
- [TopCoder - Basic Geometry Concepts](https://www.topcoder.com/community/competitive-programming/tutorials/geometry-concepts-basic-concepts/)
|
- [TopCoder - Basic Geometry Concepts](https://www.topcoder.com/community/competitive-programming/tutorials/geometry-concepts-basic-concepts/)
|
||||||
- [CF - Point Class](https://codeforces.com/blog/entry/48122)
|
- [CF - Point Class](https://codeforces.com/blog/entry/48122)
|
||||||
|
@ -53,40 +52,3 @@ You should know basic operations like cross product and dot product. For platinu
|
||||||
- [Cow Steepchase II (Silver)](http://www.usaco.org/index.php?page=viewproblem2&cpid=943)
|
- [Cow Steepchase II (Silver)](http://www.usaco.org/index.php?page=viewproblem2&cpid=943)
|
||||||
- :|
|
- :|
|
||||||
- [Kattis Closest Pair](https://open.kattis.com/problems/closestpair2)
|
- [Kattis Closest Pair](https://open.kattis.com/problems/closestpair2)
|
||||||
|
|
||||||
## [Convex Hull](https://en.wikipedia.org/wiki/Convex_hull_algorithms)
|
|
||||||
|
|
||||||
- [Kattis Convex Hull](https://open.kattis.com/problems/convexhull)
|
|
||||||
|
|
||||||
### Tutorial
|
|
||||||
|
|
||||||
- Graham Scan
|
|
||||||
- [cp-algo](https://cp-algorithms.com/geometry/grahams-scan-convex-hull.html)
|
|
||||||
- [My Implementation](https://github.com/bqi343/USACO/blob/master/Implementations/content/geometry%20(13)/Polygons/ConvexHull2.h)
|
|
||||||
- Monotone Chain
|
|
||||||
- CPH 30.3 (brief)
|
|
||||||
- [Wikipedia](https://en.wikibooks.org/wiki/Algorithm_Implementation/Geometry/Convex_hull/Monotone_chain)
|
|
||||||
- [My Implementation](https://github.com/bqi343/USACO/blob/master/Implementations/content/geometry%20(13)/Polygons/ConvexHull%20(13.2).h)
|
|
||||||
|
|
||||||
### Problems
|
|
||||||
|
|
||||||
- [USACO Plat Balance](http://www.usaco.org/index.php?page=viewproblem2&cpid=864)
|
|
||||||
- [USACO Plat Falling](http://www.usaco.org/index.php?page=viewproblem2&cpid=998)
|
|
||||||
- [USACO Old Gold - Fencing](http://www.usaco.org/index.php?page=viewproblem2&cpid=534)
|
|
||||||
- [USACO Old Gold - Cow Curling](http://www.usaco.org/index.php?page=viewproblem2&cpid=382)
|
|
||||||
- [Kattis Fence Orthogonality](https://open.kattis.com/problems/fenceortho)
|
|
||||||
- [AGC 44 Random Pawn](https://atcoder.jp/contests/agc044/tasks/agc044_e)
|
|
||||||
- Generalization of "Balance"
|
|
||||||
|
|
||||||
## Half-Plane Intersection / Convex Stuff
|
|
||||||
|
|
||||||
- [Blogewoosh (Half-Plane Intersection w/ Ternary Search)](https://codeforces.com/blog/entry/61710)
|
|
||||||
- [retrograd Half-Plane Intersection](https://codeforces.com/blog/entry/61710?#comment-457662)
|
|
||||||
- [Petr (Linear Half-Plane Intersection)](https://petr-mitrichev.blogspot.com/2016/07/a-half-plane-week.html)
|
|
||||||
- [KACTL LineContainer](https://github.com/kth-competitive-programming/kactl/blob/master/content/data-structures/LineContainer.h)
|
|
||||||
- [Lichao Segment Tree](http://codeforces.com/blog/entry/51275?#comment-351510)
|
|
||||||
|
|
||||||
### Problems
|
|
||||||
|
|
||||||
- [Bridges](https://csacademy.com/contest/archive/task/building-bridges/)
|
|
||||||
- direct application of LineContainer
|
|
45
content/6_Plat/Hull.md
Normal file
45
content/6_Plat/Hull.md
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
---
|
||||||
|
id: hull
|
||||||
|
title: "Convex Hull"
|
||||||
|
author: Benjamin Qi
|
||||||
|
description: Smallest convex polygon containing a set of points on a grid.
|
||||||
|
---
|
||||||
|
|
||||||
|
## [Convex Hull](https://en.wikipedia.org/wiki/Convex_hull_algorithms)
|
||||||
|
|
||||||
|
- [Kattis Convex Hull](https://open.kattis.com/problems/convexhull)
|
||||||
|
|
||||||
|
### Tutorial
|
||||||
|
|
||||||
|
- Graham Scan
|
||||||
|
- [cp-algo](https://cp-algorithms.com/geometry/grahams-scan-convex-hull.html)
|
||||||
|
- [My Implementation](https://github.com/bqi343/USACO/blob/master/Implementations/content/geometry%20(13)/Polygons/ConvexHull2.h)
|
||||||
|
- Monotone Chain
|
||||||
|
- CPH 30.3 (brief)
|
||||||
|
- [Wikipedia](https://en.wikibooks.org/wiki/Algorithm_Implementation/Geometry/Convex_hull/Monotone_chain)
|
||||||
|
- [My Implementation](https://github.com/bqi343/USACO/blob/master/Implementations/content/geometry%20(13)/Polygons/ConvexHull%20(13.2).h)
|
||||||
|
|
||||||
|
### Problems
|
||||||
|
|
||||||
|
- [USACO Plat Balance](http://www.usaco.org/index.php?page=viewproblem2&cpid=864)
|
||||||
|
- [USACO Plat Falling](http://www.usaco.org/index.php?page=viewproblem2&cpid=998)
|
||||||
|
- [USACO Old Gold - Fencing](http://www.usaco.org/index.php?page=viewproblem2&cpid=534)
|
||||||
|
- [USACO Old Gold - Cow Curling](http://www.usaco.org/index.php?page=viewproblem2&cpid=382)
|
||||||
|
- [Kattis Fence Orthogonality](https://open.kattis.com/problems/fenceortho)
|
||||||
|
- [AGC 44 Random Pawn](https://atcoder.jp/contests/agc044/tasks/agc044_e)
|
||||||
|
- Generalization of "Balance"
|
||||||
|
|
||||||
|
Minkowski addition?
|
||||||
|
|
||||||
|
## Half-Plane Intersection / Convex Stuff
|
||||||
|
|
||||||
|
- [Blogewoosh (Half-Plane Intersection w/ Ternary Search)](https://codeforces.com/blog/entry/61710)
|
||||||
|
- [retrograd Half-Plane Intersection](https://codeforces.com/blog/entry/61710?#comment-457662)
|
||||||
|
- [Petr (Linear Half-Plane Intersection)](https://petr-mitrichev.blogspot.com/2016/07/a-half-plane-week.html)
|
||||||
|
- [KACTL LineContainer](https://github.com/kth-competitive-programming/kactl/blob/master/content/data-structures/LineContainer.h)
|
||||||
|
- [Lichao Segment Tree](http://codeforces.com/blog/entry/51275?#comment-351510)
|
||||||
|
|
||||||
|
### Problems
|
||||||
|
|
||||||
|
- [Bridges](https://csacademy.com/contest/archive/task/building-bridges/)
|
||||||
|
- direct application of LineContainer
|
|
@ -4,7 +4,7 @@ title: "Slope Trick"
|
||||||
author: Benjamin Qi
|
author: Benjamin Qi
|
||||||
prerequisites:
|
prerequisites:
|
||||||
-
|
-
|
||||||
- some familiarity with at least one of the two tutorials mentioned in this module
|
- Platinum - Convex Hull
|
||||||
description: Ways to manipulate piecewise linear convex functions.
|
description: Ways to manipulate piecewise linear convex functions.
|
||||||
---
|
---
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ From the latter link (modified):
|
||||||
> - It can be divided into multiple sections, where each section is a linear function (usually) with an integer slope.
|
> - It can be divided into multiple sections, where each section is a linear function (usually) with an integer slope.
|
||||||
> - It is a convex/concave function. In other words, the slope of each section is non-decreasing or non-increasing when scanning the function from left to right.
|
> - It is a convex/concave function. In other words, the slope of each section is non-decreasing or non-increasing when scanning the function from left to right.
|
||||||
|
|
||||||
It's generally applicable as a DP optimization. Usually you can come up with a slower DP (ex. $O(N^2)$) first and then optimize it to $O(N\log N)$ with slope trick.
|
It's generally applicable as a DP optimization. Usually you can come up with a slower DP (ex. $O(N^2)$) first and then optimize it to $O(N\log N)$ with slope trick. The rest of this module assumes that you are somewhat familiar with at least one of the tutorials mentioned above.
|
||||||
|
|
||||||
## [Buy Low Sell High](https://codeforces.com/contest/866/problem/D)
|
## [Buy Low Sell High](https://codeforces.com/contest/866/problem/D)
|
||||||
|
|
||||||
|
|
|
@ -138,7 +138,13 @@ const ModuleOrdering = {
|
||||||
"string-search",
|
"string-search",
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"geo",
|
{
|
||||||
|
name: "Geometry",
|
||||||
|
items: [
|
||||||
|
"geo-pri",
|
||||||
|
"hull",
|
||||||
|
]
|
||||||
|
},
|
||||||
"bitsets",
|
"bitsets",
|
||||||
"fracture",
|
"fracture",
|
||||||
]
|
]
|
||||||
|
|
Reference in a new issue