12.19
还有不到两周就跨年了?😱😱😱
快考试了,还有八天,最近要把时间多放在whk上了。
今天学了 Tarjan (其实是网课,问谁没学就去,我去划水了),但是怎么这么卡啊???
我草,说一句话卡三秒,然后先讲了个DFS序,合着您倒着学是吧😨😨😨
没怎么听,水。
然后借着一机房有谷交了几道谷题。
然后润回来了。
还在调前几天的题啊,是降雨量。
谁能教教
Update 21:23
终于贺完了
Code
#include<bits/stdc++.h>
using namespace std;
#define ls p<<1
#define rs p<<1|1
#define mid ((l+r)>>1)
const int N=6*1e5;
const int INF=1000000007;
int a[N],b[N];
int n,m,lb,fb,hb,x,y,maxn;
inline int read()
{
int f=1,x=0;char ch;
while(ch<'0'||ch>'9'){ch=getchar();if(ch=='-')f=-1;};
while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();};
return f*x;
}
struct tree
{
int l,r;
int sum;
int vis;
}t[4*N+2];
int vis[N];
void bulid(int p,int l,int r)
{
t[p].l=l,t[p].r=r;
if(l==r)
{
t[p].sum=b[l];
t[p].vis=vis[l];
return;
}
bulid(ls,l,mid);
bulid(rs,mid+1,r);
t[p].sum=max(t[ls].sum,t[rs].sum);
t[p].vis=t[ls].vis | t[rs].vis;
}
int find_sum(int p,int x,int y)
{
int l=t[p].l,r=t[p].r;
if(x<=l && y>=r)
{
hb=hb | t[p].vis;
return t[p].sum;
}
int ans=0;
if(x<=mid) ans=max(find_sum(ls,x,y),ans);
if(y>mid) ans=max(find_sum(rs,x,y),ans);
return ans;
}
void f()
{
cout<<"false"<<'\n';
}
void may()
{
cout<<"maybe"<<'\n';
}
void tr()
{
cout<<"true"<<'\n';
memset()
}
signed main()
{
cin>>n;
for(int i=1;i<=n;++i)
{
a[i]=read(),b[i]=read();
if(a[i]-a[i-1]!=1 && i!=1) vis[i]=1;
}
bulid(1,1,n);
cin>>m;
for(int i=1;i<=m;++i)
{
fb=lb=hb=0;
x=read(),y=read();
if(x>=y) {f();continue;}
if(y<=a[1] || x>=a[n]) {may();continue;}
int px=lower_bound(a+1,a+n+1,x)-a;
int py=lower_bound(a+1,a+n+1,y)-a;
if(a[px]!=x) fb=1;
if(a[py]!=y) lb=1;
if(fb && lb) {may();continue;}
if(!fb && a[px+1]-a[px]!=1) hb=1;
if(!lb && a[py]-a[py-1]!=1) hb=1;
if(fb && lb) maxn=find_sum(1,px,py-1);
else if(!fb && lb) maxn=find_sum(1,px+1,py-1);
else if(fb && !lb) maxn=find_sum(1,px,py-1);
else if(!fb && !lb) maxn=find_sum(1,px+1,py-1);
if(!fb && !lb && !hb && b[px]>=b[py] && maxn<b[py]) {tr();continue;}
if(!fb && !lb && hb && b[px]>=b[py] && maxn<b[py]) {may();continue;}
if(!fb && lb && maxn<b[px]) {may();continue;}
if(fb && !lb && maxn<b[py]) {may();continue;}
f();
}
}
什么屎山
近期不想写线段树了555

浙公网安备 33010602011771号