1 solutions
-
0
我们知道只满足单调增或者减的情况下可以使用二分查找。而在先增后减或者先减后增的情况下则可以使用三分查找来解决。在一般的算法题当中,在凸包上查找最大答案时可以使用这种方式。
关于三分查找,大家可以自己查阅互联网资料~
#include "peak.h" int findPeak(int n) { int L = 0, R = n - 1; while (L < R) { int M = (L + R) >> 1; (get(M) < get(M + 1)) ? (R = M) : (L = M + 1); } return L; }
Information
- ID
- 23
- Time
- 1000ms
- Memory
- 512MiB
- Difficulty
- 1
- Tags
- # Submissions
- 115
- Accepted
- 20
- Uploaded By