Templates for XCPC - Misc

Misc

常用常数

#define INF 0x3f3f3f3f
#define LLINF 0x3f3f3f3f3f3f3f3f

取消输入输出流同步

inline void fastio(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
}

二分查找边界

while(l<r){
int mid=(l+r)/2;
if(check(mid))r=mid;
else l=mid+1;
}
while(l<r){
int mid=(l+r+1)/2;
if(check(mid))l=mid;
else r=mid-1;
}

三分求函数最大值

const double eps=1e-7;
double f(double x){
//...
}
int main(){
cin>>N>>l>>r;
for(int i=N;i>=0;i--)cin>>a[i];
while(r-l>eps){
double mid=(l+r)/2;
double lmid=mid-eps,rmid=mid+eps;
if(f(lmid)>f(rmid))r=mid;
else l=mid;
}
printf("%.5f",l);
return 0;
}