1 solutions

  • 0
    @ 2025-5-5 16:24:07

    我们知道只满足单调增或者减的情况下可以使用二分查找。而在先增后减或者先减后增的情况下则可以使用三分查找来解决。在一般的算法题当中,在凸包上查找最大答案时可以使用这种方式。

    关于三分查找,大家可以自己查阅互联网资料~

    #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