博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
摘要: "题目链接" cpp / 求异或和,容易想到,如果同一个数异或偶数次相当于0 ∑ai还不大,那想一下每个子集和出现多少次,显然只需要知道次数的奇偶,可以用bitset bit[i]=0/1表示子集和为i出现了偶数次/奇数次 有个简单的dp方程: f[x+a[i]]+=f[x] 对于一个x,bit(注 阅读全文
posted @ 2018-02-09 17:09 SovietPower 阅读(155) 评论(0) 推荐(0) 编辑
摘要: "题目链接" "主要思路" cpp / 对于询问1,用堆代替multiset/Splay 对于询问2,multiset 1.注意哨兵元素 2.注意multiset中删除时是删除某元素的一个位置,而不是这个元素!这个值会全部都删掉 / include include include include c 阅读全文
posted @ 2018-02-09 17:08 SovietPower 阅读(170) 评论(0) 推荐(0) 编辑
摘要: "题目链接" "主要思路" cpp / 其实只需要multiset即可 对于询问1,删除、插入差值,输出最小元素 对于询问2,插入后用前驱后继更新 1.注意哨兵元素 2.注意multiset中删除时是删除某元素的一个位置,而不是这个元素!这个值会全部都删掉 不开O2慢成狗 开了也不是很快 / inc 阅读全文
posted @ 2018-02-09 17:06 SovietPower 阅读(227) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp //输出ht见UOJ.35 include include include const int N=1e6+5; int n,tm[N],t1[N],t2[N],SA[N],rk[N],ht[N]; //SA[i]=j:排名为i的后缀开头的下标为j //rk[i]=j:以下标i 阅读全文
posted @ 2018-02-09 13:34 SovietPower 阅读(297) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp / 分块。对于块之外的,暴力修改、查询; 对于一整块内的,修改后sort使每一块块有序,询问时二分 =C的位置求个数 / include include include include using namespace std; const int N=1e6+5; int n, 阅读全文
posted @ 2018-02-09 13:33 SovietPower 阅读(150) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp / 数列的最大值保证 include include include using namespace std; const int N=5e4+5; int n,m,k,size,A[N],times[N]; long long ans[N],now; struct Ques 阅读全文
posted @ 2018-02-09 13:32 SovietPower 阅读(158) 评论(0) 推荐(0) 编辑
摘要: "题目链接 COGS" "BZOJ2120" "洛谷P1903" cpp / Add和Subd函数中的vis不能直接设为=1或=0 比如 l=1,r=0 l=3,r=5 时,[1,5]的vis标记全都是1 所以要进行取反 / include include include include using 阅读全文
posted @ 2018-02-09 13:31 SovietPower 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "COGS" 、 "BZOJ3236" Upd: 树状数组实现的是单点加 区间求和,采用值域分块可以$O(1)$修改$O(sqrt(n))$查询。同 "BZOJ3809" . 莫队为$O(n^{1.5})$次修改和$O(n)$次查询。 注意这两个需求并不平衡,所以在搭配数据结构时常使用分 阅读全文
posted @ 2018-02-09 13:30 SovietPower 阅读(229) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 阅读全文
posted @ 2018-02-09 13:29 SovietPower 阅读(171) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp include include include include using namespace std; const int N=1e5+5; define LL long long int n,belong[N],size; LL A[N],sum[N],tag[N]; in 阅读全文
posted @ 2018-02-09 13:28 SovietPower 阅读(254) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp include include include include using namespace std; const int N=1e5+5; int n,m,A[N],size,belong[N],sum[N]/ 某块的总和 /,tag[N]/ 某块的加标记 /; inlin 阅读全文
posted @ 2018-02-09 13:28 SovietPower 阅读(216) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp / 如果用线段树,每个节点要再开k的空间,显然不行。但是分块可以(虽然空间依旧爆炸) 分块。用bloans[i][j]表示 第i块 模k为j 的有多少个 对于不是整块的,查询时应判断 A[i]+tag[belong[i]] ==k || ==0 对于整块,维护两个tag,一个是 阅读全文
posted @ 2018-02-09 13:25 SovietPower 阅读(304) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp / 25832 kb 26964 ms 莫队+树状数组:增加/删除/查询 都是O(logn)的,总时间复杂度O(m sqrt(n) logn),卡不过 莫队+分块:这样查询虽然变成了sqrt(n),但是修改是O(1)的 考虑对权值进行分块 细节... / include inc 阅读全文
posted @ 2018-02-09 13:23 SovietPower 阅读(162) 评论(0) 推荐(1) 编辑
摘要: 题目链接 [Update] 这是一个暴力,DP正解见 https://www.luogu.com.cn/blog/fusu2333/solution-p2292 ,同样是利用fail递推,并利用串长只有10,可能匹配位置只有10的性质。 /* 简单的DP,查找是否有字典中的单词时在Trie树上做 要 阅读全文
posted @ 2018-02-09 13:21 SovietPower 阅读(183) 评论(0) 推荐(0) 编辑
摘要: "题目链接" $Description$ 给出n个字符串,问重定义英文字符的顺序(即字典序),有哪些单词可能排在第一 $Solution$ 一个单词想要排在第一,首先是没有其它字符串是它的前缀。那么建一棵Trie树 其次,它字符的优先级要比和它有着相同前缀的要高。 也就是说,对于同一个父节点下,这个 阅读全文
posted @ 2018-02-09 13:20 SovietPower 阅读(235) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 还是80分,不是很懂。 cpp / 七个操作(用左偏树)(t2表示第二棵子树): 1.合并:直接合并(需要将一个t2中原有的根节点删掉) 2.单点加:把这个点从它的堆里删了,加了再插入回去(有负数)(它可能成为这一个堆的根,所以也要从t2中删除再插入) 3.整个连通块加:根节点打标记( 阅读全文
posted @ 2018-02-09 13:18 SovietPower 阅读(165) 评论(0) 推荐(0) 编辑
摘要: "题目链接" "左偏堆学习 推荐" cpp include include include define gc() (SS==TT &&(TT=(SS=IN)+fread(IN,1,1val[B]||(val[A]==val[B]&&A B)) std::swap(A,B); son[A][1]=M 阅读全文
posted @ 2018-02-09 13:15 SovietPower 阅读(184) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp //注意树剖一条链上或一棵子树内的编号是连续的 //建树时用的是第二次dfs得到的序列 //不要频繁转longlong include include include // define gc() getchar() define gc() (SS==TT&&(TT=(SS=I 阅读全文
posted @ 2018-02-09 13:14 SovietPower 阅读(147) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 阅读全文
posted @ 2018-02-09 13:11 SovietPower 阅读(183) 评论(0) 推荐(0) 编辑
摘要: "题目链接" st(n)表示sqrt(n) 为使块状链表不会退化,通常将每块的大小S维持在[st(n)/2,2st(n)]中,这样块数C也一定[st(n)/2,2st(n)]中 在此使用另一种方法(方便)维持这种性质:保证任意相邻两块的size相加 st(n),并且每块大小 include incl 阅读全文
posted @ 2018-02-09 13:10 SovietPower 阅读(477) 评论(0) 推荐(0) 编辑