[TJOI2007] 路标设置 - 二分答案,贪心

考虑到答案满足可二分性,段内可以贪心,所以暴力二分即可
注意-1 详见代码(我这题都能写WA)

#include <bits/stdc++.h>
using namespace std;

int l,n,k,a[100005];

int main() {
    ios::sync_with_stdio(false);
    cin>>l>>n>>k;
    for(int i=1;i<=n;i++) cin>>a[i];
    int L=0,R=l+1;
    while(L<R) {
        int mid=(L+R)/2,ans=0;
        for(int i=2;i<=n;i++) {
            ans+=(a[i]-a[i-1]-1)/mid; //!
        }
        if(ans>k) L=mid+1;
        else R=mid;
    }
    cout<<L;
}

猜你喜欢

转载自www.cnblogs.com/mollnn/p/12296755.html