티스토리 뷰
문제: http://www.csc.kth.se/contest/boi/subway.pdf
해법: http://www.csc.kth.se/contest/boi/subway-spoiler.pdf
이 문제에 대한 증명을 하지는 못 하겠다... 그냥 느낌으로 올 뿐이지 증명이 가능한지는... 잘 모르겠다... ㅠㅠ
예제 2번 데이터를 통하여, 방법을 설명하겠다.
1. 우선 처음에 입력 받을 때 방향에 상관없이 입력받고, 오름차순 정렬을 한다.
9 15 33 33 41 81 97 100
2. 홀수번째와 짝수번째의 방향을 다르게 한다.
9R 15L 33R 33L 41R 81L 97R 100L
3. 다음에 subway의 rail을 일직선에 나타내고 그에 따라 x좌표를 대입한뒤 정렬하면,
9 (200-15) 33 (200-33) 41 (200-81) 97 (200-100)
9 33 41 97 100 119 167 185
4. 이제 각 i번째 점에 (2L/N)*(i-1) 만큼의 값을 빼준다.
9 8 -9 22 0 -6 17 10
최대값 M=22, 최소값 m=-9 이다.
답은 (M-m)/2 = 15.5 이다.
총 시간복잡도는 O(N log N) 이다.
증명은 확실히 모르겠고, 4번 같이 한 이유는 (2L/N)*(i-1) 만큼을 빼줌으로써 각 점의 상대적인 위치를 구할 수 있고, 문제에서 구하는건 이동시간 중 최대값의 최소시간이므로 그 상대적인 위치의 (최대값-최소값)/2 이 최소값이 된다.
어찌보면 당연하면서도, 어찌보면 과연 저렇게 하는게 맞을까 싶은 부분은 2번 과정이다...
해법: http://www.csc.kth.se/contest/boi/subway-spoiler.pdf
이 문제에 대한 증명을 하지는 못 하겠다... 그냥 느낌으로 올 뿐이지 증명이 가능한지는... 잘 모르겠다... ㅠㅠ
예제 2번 데이터를 통하여, 방법을 설명하겠다.
1. 우선 처음에 입력 받을 때 방향에 상관없이 입력받고, 오름차순 정렬을 한다.
9 15 33 33 41 81 97 100
2. 홀수번째와 짝수번째의 방향을 다르게 한다.
9R 15L 33R 33L 41R 81L 97R 100L
3. 다음에 subway의 rail을 일직선에 나타내고 그에 따라 x좌표를 대입한뒤 정렬하면,
9 (200-15) 33 (200-33) 41 (200-81) 97 (200-100)
9 33 41 97 100 119 167 185
4. 이제 각 i번째 점에 (2L/N)*(i-1) 만큼의 값을 빼준다.
9 8 -9 22 0 -6 17 10
최대값 M=22, 최소값 m=-9 이다.
답은 (M-m)/2 = 15.5 이다.
총 시간복잡도는 O(N log N) 이다.
증명은 확실히 모르겠고, 4번 같이 한 이유는 (2L/N)*(i-1) 만큼을 빼줌으로써 각 점의 상대적인 위치를 구할 수 있고, 문제에서 구하는건 이동시간 중 최대값의 최소시간이므로 그 상대적인 위치의 (최대값-최소값)/2 이 최소값이 된다.
어찌보면 당연하면서도, 어찌보면 과연 저렇게 하는게 맞을까 싶은 부분은 2번 과정이다...
'해법' 카테고리의 다른 글
[HackerRank w7] Savita And Friends (0) | 2014.07.21 |
---|---|
[USACO 2011 February Gold] The Lost Cows (0) | 2011.06.04 |
[USACO 2008 November Gold] Toys (0) | 2011.06.04 |
[BOI 2009] Monument (0) | 2011.05.22 |
[BOI 2009] Candy Machine (0) | 2011.05.22 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- z-trening
- Knuth Optimization
- HackerRank
- Tree
- Segment tree
- vote
- idea
- optimization
- IOI2014
- IOI2011
- ioi
- Boyer-Moore Majority Vote Algorithm
- BOI
- Dijkstra
- TRIE
- Algorithm
- BOI 2001
- Dynamic Pramming
- USACO
- Divide & Conquer
- Boyer
- moore
- IOI2012
- Parametric Search
- Splay Tree
- Greedy Method
- majority
- BOI 2009
- dynamic programming
- IOI2013
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함