Homework Introduction
快速读入
inline int read(){
int x=0,f=1;
char c=getchar();
while(c<'0'||c>'9'){
if(c=='-')
f=-1;
c=getchar();
}
while(c>='0'&&c<='9'){
x=(x<<1)+(x<<3)+(c^48);
c=getchar();
}
return x*f;
}
模板1(求...最大值的最小 )
//往左找答案,,mid不用加一,r=mid,l加一;
while (l < r)
{
int mid = l + r >> 1; //(l+r)/2或者l+(r-l)/2
if (check(mid)) r = mid; // check()判断mid是否满足性质
else l = mid + 1;
}
模板2(求...最小值的最大)
//往右找答案,mid要加一,l=mid,r要减一;
while (l < r)
{
int mid = l + r + 1 >> 1; //(l+r+1)/2
if (check(mid)) l = mid;
else r = mid - 1;
}
Problem
Please claim the assignment to see the problems.
- Status
- Live...
- Problem
- 5
- Open Since
- 2025-3-30 8:00
- Deadline
- 2025-4-6 23:59
- Extension
- 24 hour(s)