bzoj 3678 wangxz与OJ】的更多相关文章

3678: wangxz与OJ Time Limit: 10 Sec  Memory Limit: 128 MBhttp://www.lydsy.com/JudgeOnline/problem.php?id=3678 Description 某天,wangxz神犇来到了一个信息学在线评测系统(Online Judge).由于他是一位哲♂学的神犇,所以他不打算做题.他发现这些题 目呈线性排列,被标记为1~n号,每道题都有一个难度值(可以<=0).他决定与这些题目玩♂耍. 1.他可以在某个位置插♂入…
[BZOJ3678]wangxz与OJ Description 某天,wangxz神犇来到了一个信息学在线评测系统(Online Judge).由于他是一位哲♂学的神犇,所以他不打算做题.他发现这些题 目呈线性排列,被标记为1~n号,每道题都有一个难度值(可以<=0).他决定与这些题目玩♂耍. 1.他可以在某个位置插♂入一些难度值特定的题目. 2.他可以吃♂掉(删除)一段题目. 3.他可以查询某个位置的题目的难度值. 维护一个初始有n个元素的序列(标记为1~n号元素),支持以下操作: 0 p a…
Portal -- > bzoj 3678 Solution 这题==真实智力康复qwq 然而众多神犇都说是10min写完的题我..可能写了近1h吧==深深感受到自己的弱小qwq (丢上来是因为..我的splay实在是太垃圾了==) 其实就是splay的裸题啊qwq(然后因为过于不熟练导致写了巨久==)然后的话不同的地方就是插入的时候你不能一个一个往里面插..因为插入的是连续的一段数,我们考虑直接将这段数存在一个点里面,在需要用其中的某个位置的时候再把这个位置分离出来 具体实现的话就是每个节点维…
splay缩点. #include<bits/stdc++.h> #define L(t) (t)->c[0] #define R(t) (t)->c[1] #define F(t) (L(t)->s+1) #define G(t) (L(t)->s+(t)->u) #define M (l+r>>1) struct node{ int v,s,u; node* c[2]; node(int v,int s,int u,node* a,node* e)…
题意: 不想讲 题解: Rope真香! 正解是Splay缩点,访问时再拆成一个序列 代码: //STL dafa good! #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> #include<ext/rope> #define inf 2147483647 #d…
题面 维护一个序列,支持以下操作: 1.在某个位置插入一段值连续的数. 2.删除在当前序列位置连续的一段数. 3.查询某个位置的数是多少. 题解 显然平衡树,一个点维护一段值连续的数,如果插入或者删除操作需要分裂这个点,就直接分裂.每次插入最多只会分裂1个点,每次删除最多分裂2个点,所以时间复杂度是O(nlogn)O(nlogn)O(nlogn)的. 我写的无旋treap. CODE #include <bits/stdc++.h> using namespace std; inline vo…
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem 10983 18765 Y 1036 [ZJOI2008]树的统计Count 5293 13132 Y 1588 [HNOI2002]营业额统计 5056 13607 1001 [BeiJing2006]狼抓兔子 4526 18386 Y 2002 [Hnoi2010]Bounce 弹飞绵羊 43…
好久没打模拟赛了...今天一样是两道国集,一道bzoj题 成绩:13+0+95=108 A题开始看错题了...导致样例都没看懂,结果xfz提醒我后我理解了一个我自认为正确的题意(事实证明我和xfz都错了qwq),然后瞎打了一个线段树,结果只有13分...C题一看就是一个大平衡树,开始手打了100+行发现自己肯定调不出来,于是……Rope真香 A:[arc067f]yakiniku restaurants B:[agc010d]decrementing(咕) C:[BZOJ3678]Wangxz和…
一条边<u,v>表示u选那么v一定被选. #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; ; ; struct EDGE{int to,next;}edge[Maxm]; int T,m,Stack[Maxn],head[Maxn],Belong[Maxn],Id[Maxn],Dfn[Maxn],L…
bzoj 4811 由乃的OJ 考虑树链剖分. 树剖后用一颗线段树维护一段连续区间,类似于一个函数,各位上进入 \(0/1\) ,输出的数字分别是什么.注意到最多只有 \(64\) 位,可以用一个 \(unsigned\ long\ long\) 的大数状压表示,合并两段区间时推导一下可以做到 \(O(1)\) . 注意 \(3 种\)位运算混在一起,满足交换律,却不满足结合律,所以从区间左/右侧进入同一个数,最后得到的数不同.需要维护两个方向的函数. 修改时在线段树上单点修改就好,查询用树剖的…