Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- k번째 수
- 대수학
- ccw
- round 420
- persistent segment tree
- Algebraic Geometry
- gallian
- Algorithm
- BOJ
- finite group
- 아시아나
- 이베이트코리아
- acmicpc
- 이베이트미국
- 구간쿼리
- subgroup
- 백준
- 대한항공
- Ebate Korea
- 알고리즘
- algebra
- 7469
- persistent indexed tree
- self balancing binary search tree
- Codeforces
- 이베이트
- indexed tree
- 마일리지
- Ebate USA
- round 424
Archives
- Today
- Total
Expert스터디 2일차(2016.05.26) 본문
선분교차
- 선분의 끝점이 만나면 어떻게 처리해야 하는가?
1. box_checking(A,B,C,D) 2. ccw_checking(A,B,C,D)= ccw(A,B,C)*ccw(A,B,D)<0 && ccw(C,D,A)*ccw(C,D,B)<0
볼록껍질
- 여러분은 angle 대신 ccw를 이용하여야 한다.
- 볼록껍질 상의 모든 점들을 포함시켜야 하는가?
int comp(Point p1, Point p2) { if(ccw(O,p1,p2)!=0) return p1.angle < p2.angle; if(p1.angle == min_angle) return p1.dist < p2.dist; return p1.dist>p2.dist; }
O = point with minimum y
int stack[10000]; int top=0;
stack[++top] = 1; for(int i=2;i<=n;++i) { while(top>=2 && ccw(끝2개, a[i])<0) --top; stack[++top]=i; }
지난시간에 이어 CCW심화학습.
Convexhull을통해 좌표들의 최대거리를 구해봤고, 최소거리구하는 문제도 접해봄
두 선분이 교차하는지 판별하는방법으로 CCW+Box_Checking을 하면 된다는 걸 배움
문제번호
1. 1725
2. 11003
3. 11758
4. 2166
5. 6439
6. 1708
7. 10254
8. 2261
'Algorithm > 그밖에2' 카테고리의 다른 글
Expert스터디 5일차(2016.06.13) (0) | 2016.06.17 |
---|---|
Expert스터디 4일차(2016.06.08) (0) | 2016.06.10 |
Expert스터디 3.5일차(2016.06.06) (0) | 2016.06.07 |
Expert스터디 3일차(2016.06.01) (0) | 2016.06.04 |
Expert스터디 1일차(2016.05.26) (0) | 2016.06.04 |