문제: HackerRank or hongjun7's blog 이 문제는 N개의 정점과 그들 사이를 잇는 M개의 간선이 있는 무방향성 그래프에서 K번째 간선 상에 임의의 점 P를 잡아 P에서 각 정점으로 가는 최단 거리들 중 최대를 최소화 시키는 문제다. 우선 직관적으로 답의 소수점은 x.0 혹은 x.5 꼴임을 알 수 있다. 실수 연산을 피하기 위해 각 간선의 길이에 2를 곱해서 처리한다. 답(최단 거리들 중 최대 값)을 정하여, 가능한지 불가능한지 결정 문제로 바꾸어 이분 검색(혹은 Parametric search)를 통해 해결한다. 답을 d라 정했다고 가정하고, 각 지점으로 가는 최단 거리가 d 이하가 될 수 있도록 점 P를 잡을 수 있는지 결정하는 방법을 설명하겠다. 문제..
문제: http://www.ioi2011.or.th/hsc/tasks/KOR/crocodile.pdf우선, 0번 방에서 탈출 방에서 가는 것이 아닌, 탈출방에서 각 방으로 가는 방향으로 뒤집어 생각해야한다. D[i]=악어문지기가 최선을 다 할때, 임의의 탈출방에서 i번 방으로 오는 최소 시간D[i] 를 위와 같이 정의하자. D[i]는 i번 방으로 올 수 있는 방들 중에 D[j]+(j번 방에서 i번 방으로 이동하는 시간)이 2번째로 작은 값을 취해야한다. 이를 해결하기 위해서는 O(N2) 방법과 O(NlgN) 방법이 존재한다.O(NlgN) 방법은 힙(heap)을 이용해 다잌스트라(Dijkstra's Algorithm)를 돌리듯이 하면 된다.코드: http:/..
- Total
- Today
- Yesterday
- Dijkstra
- BOI 2009
- Splay Tree
- dynamic programming
- IOI2012
- TRIE
- majority
- idea
- Segment tree
- vote
- IOI2013
- Divide & Conquer
- moore
- IOI2011
- IOI2014
- Greedy Method
- z-trening
- BOI 2001
- HackerRank
- Boyer
- Algorithm
- USACO
- Boyer-Moore Majority Vote Algorithm
- optimization
- Dynamic Pramming
- Parametric Search
- Tree
- ioi
- BOI
- Knuth Optimization
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |