saber她爸 saber她爸
关注数: 16 粉丝数: 10 发帖数: 1,644 关注贴吧数: 11
程序 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int maxn = 50005,maxm = 100005,INF = 2147483247; struct node{ int fa,lc,rc,p,v,z,size,max; node(int f=0):fa(f),v(0),lc(0),rc(0),p(0),z(0),size(0){} }T[maxn]; int n,m,root; void Merge(int x){ int l = T[x].lc, r = T[x].rc; T[x].size = T[l].size+1+T[r].size; T[x].max = max(max(T[l].max,T[r].max),T[x].v); } int find(int x){ int tmp = root; while(1){ if(T[T[tmp].lc].size+1 == x)return tmp; if(T[T[tmp].lc].size>=x)tmp = T[tmp].lc; else x-=T[T[tmp].lc].size+1,tmp = T[tmp].rc; } } int build(int fa,int l,int r){ int mid = l+r>>1; T[mid] = node(fa); if(l<mid)T[mid].lc = build(mid,l,mid-1); if(mid<r)T[mid].rc = build(mid,mid+1,r); Merge(mid); return mid; } void pushdown(int x){ if(!T[x].z && !T[x].p)return; if(T[x].z)swap(T[x].lc,T[x].rc),T[T[x].lc].z^=1,T[T[x].rc].z^=1; if(T[x].p)T[x].v+=T[x].p, T[T[x].lc].p+=T[x].p, T[T[x].rc].p+=T[x].p, T[x].p=0; } void rotate(int x){ int f = T[x].fa;pushdown(f);pushdown(x); T[x].fa = T[f].fa; T[f].fa = x; if(T[T[x].fa].lc == f)T[T[x].fa].lc = x;else T[T[x].fa].rc = x; if(T[f].lc == x)T[f].lc = T[x].rc, T[T[x].rc].fa = f, T[x].rc = f; else T[f].rc = T[x].lc, T[T[x].lc].fa = f, T[x].lc = f; Merge(f); } void splay(int x,int k){ pushdown(x); for(int f=T[x].fa;(f=T[x].fa)!=k;rotate(x)) if(T[f].fa!=k)rotate((T[f].lc == x)^(T[T[f].fa].lc == f)?x:f); Merge(x); if(k==0)root = x; } void solve1(int l,int r,int v){ splay(find(l-1),0);splay(find(r+1),root); T[root].p+=v; pushdown(root); } void solve2(int l,int r){ splay(find(l-1),0);splay(find(r+1),root); T[root].z ^=1; pushdown(root); } int solve3(int l,int r){ splay(find(l-1),0);splay(find(r+1),root); return T[root].max; } int main(){ freopen("data","r",stdin); scanf("%d%d",&n,&m); root = build(0,1,n+2); int l,r,v,p; while(m--){ scanf("%d%d%d",&p,&l,&r); if(p == 1)scanf("%d",&v), solve1(l,r,v); if(p == 2)solve2(l,r); if(p == 3)cout<<solve3(l,r)<<endl; }; return 0; }
现在这样看得有点不爽,大家都静下心来好好聊聊嘛 手机不方便也不管什么一楼不一楼的了。我就是发表一下个人意见,完全没有为精丧的意思,看完大可以不回复。 最近吧里禁水贴比较严,效果肯定是有的,但也无可避免的引起了一些人的不满。我还是不太明白什么是水贴,钓鱼贴什么的(虽然发帖问过)。而且我貌似也好想像没发过什么水贴,不过这不重要啦。我想说的是,既然大家都聚到了这个贴吧,那肯定都是喜欢mc的,肯呆在这里那么久到十几级的,肯定是对这个吧也是有感情的吧。既然大家有都不是小学生,那有什么好好说就是了,那个水贴榜什么的,说真的,有点伤人,意图什么的肯定是好的啦,但大可以私底下通知“你上了水贴榜啦,注意啊“而没必要公职与众。大家都是为mc吧好的,下次肯定会改正。小时候大家肯定有被老师在课堂上点名批评甚至罚站的吧,心里肯定不好,我想老师如果愿意把我们叫到办公室私下教导,效果肯定跟好,我们又不是什么特别坏的坏孩子对吧 还有,有些事不要说的那么明白,让别人不好受,甚至会让人输出一些不好的话。我是一个比较感性的人,最讨厌的就是分离,再也看不到的感觉,虽然我们在现实中并不认识,不过我喜欢这个吧里的没一个人,如果谁因为一些不开心的事说要退吧,甚至真的退了,那即使我不认识,我还是会有一种莫名的失落感,会想哭。我还是不理解水贴到底是什么,不知道水该不该禁,但如果能让我们充实,能让我们开心,水一水不也很健康吗?对了还有水痕,最近好想没怎么看到了,别不是不来了啊,好想前不久他也因为一些事不高兴过。。。 以上全是楼主个人见解,求同存异。真心希望mc吧月办月好! 以上!
1 下一页