题目链接:P2678 跳石头 很简单的二分查找,可悲的是我并不会. 不过题解贴心的写得很清楚(学会了套路) 二分一次判断一次,复杂度是\(O(nlogl)\),可以通过此题. \(Code:\) #include<iostream> #include<cstdio> #include<cmath> using namespace std; int l,m,n; int a[50005],ans; int judge(int x) { int cnt=0,last=0;…
题目链接:Click here Solution: 最小值最大,显然二分,二分出mid后贪心去除石头,判断m次内是否可行即可 Code: #include<bits/stdc++.h> #define int long long using namespace std; const int N=1e5+11; int n,m,k,a[N],b[N]; int check(int mid){ int tim=m;b[n+1]=k-a[n]; for(int i=1;i<=n;i++) b[…