MY MEMO
[ALGOSPOT] RATIO 승률 올리기 본문
ALGOSPOT RATIO : https://algospot.com/judge/problem/read/RATIO
알고리즘 책의 수치해석 부분에 있는 문제이다
1%를 올리기 위한 최소로 이긴 게임의 수를 구해야한다
1. Rear와 Front를 이용하여 중간값을 구한다
2.새로운 승률 - 원래 승률 >1 이면
=>조금 더 적은 경기를 이겨야 한다 따라서 Rear = Middle
새로운 승률 - 원래 승률 ==0 이면
=>더 많은 경기를 이겨야 한다 따라서 Front = Middle
3. Rear의 값이 Front보다 1더 많다면 최소로 이겨야하는 게임의 수가 도출된다
4. 이 때 Front는 1%가 오르기 전의 최대 이긴 게임의 수 이고
Rear는 1%가 오른 최소 이긴 게임의 수이다
예외 ) 최대로 이길수 있는 경우를 모두 이겼지만 승률이 오르지 않는다
승률이 100% & 99%
=> 승률이 100%이면 더이상 올릴 승률이 존재하지 않는다
=> 승률이 99%이면 1%의 승률을 올리면 100%가 된다
100%의 승률은 한번도 진 게임이 없다는 의미 이지만 이미 진 게임이 존재하므로 1%를 올릴 수 없다
+) 유사문제 : RUNNINGMEDIAN
'ALGORITHM > ALGORITHM STUDY' 카테고리의 다른 글
[DATASTRUCTURE] Binary Tree & Binary Search Tree (0) | 2017.03.30 |
---|---|
[Google Code Jam]2016_Qualification Round_ProblemC_Coin Jam (0) | 2017.03.28 |
[ALGOSPOT] ROUTING 신호 라우팅 (0) | 2017.02.25 |
[DATASTRUCTURE] DFS, BFS (0) | 2017.02.25 |
[ALGOSPOT] TRAVERSAL 트리 순회 순서 변경 (0) | 2017.02.25 |
Comments