| 比赛 |
2026.9.12 |
评测结果 |
WWWWTTTTTT |
| 题目名称 |
画线 |
最终得分 |
0 |
| 用户昵称 |
梧叶已同秋雨去 |
运行时间 |
6.620 s |
| 代码语言 |
C++ |
内存使用 |
3.69 MiB |
| 提交时间 |
2026-09-12 11:53:52 |
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,q;
struct node{
int f;
}t[5000005];
void changef(int p,int l,int r,int x,int y){
if(l==r){
t[p].f=max(t[p].f,y);return;
}
int mid=(l+r)/2;
if(x<=mid)changef(p*2,l,mid,x,y);
else changef(p*2+1,mid+1,r,x,y);
t[p].f=max(t[p*2].f,t[p*2+1].f);
}
int cha(int p,int l,int r,int x,int y){
int ans=0;
if(l==r)return t[p].f;
int mid=(l+r)/2;
if(y<=mid)ans=max(cha(p*2,l,mid,x,y),ans);
else if(x>mid)ans=max(ans,cha(p*2+1,mid+1,r,x,y));
else{
ans=max(cha(p*2,l,mid,x,mid),cha(p*2+1,mid+1,r,mid+1,y));
}
return ans;
}
signed main(){
freopen("circle.in","r",stdin);
freopen("circle.out","w",stdout);
ios::sync_with_stdio(0);cin.tie(0);
cin>>n>>q;
while(q--){
int x,y;
cin>>x>>y;
if(x>y){
int k=x;x=y;y=k;
}
if(x+1==y){
cout<<"Yes\n";continue;
}
int m=cha(1,1,n,x+1,y-1),mm=cha(1,1,n,1,x-1);
if(m>y||mm>x){
cout<<"No\n";
}else{
cout<<"Yes\n";
changef(1,1,n,x,y);
}
}
return 0;
}