摘要:
bzoj4423[AMPPZ2013]Bytehattan 题意: n*n的顶点图,一开始相邻顶点均有边相连,现在删掉k条边,希望知道每次删边后边的两个端点是否联通。n≤1500,k≤2*n*(n-1),边最多被删一次。 题解: 隐隐觉得是并查集,但不知道删边怎么表示。在膜拜了题解后明白原来可以转成 阅读全文
摘要:
bzoj4591[Shoi2015]超能粒子炮·改 题意: 求(sigma(i,0,k)C(n,i))%2333。n,k≤1018 题解: 根据Lucas定理(我不会),C(n,k)%2333=C(n/2333,k/2333)*C(n%2333,k%2333),故可以进行一些化简(把模省去了) (s 阅读全文
摘要:
bzoj2299[HAOI2011]向量 题意: 有(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), (-b,a), (-b,-a)这些向量,问能否拼出另一个向量(x,y)。 题解: 裴蜀定理(我不会)(实际上是与解同余方程的知识相关的)。题目可以转化为用 阅读全文
摘要:
bzoj3223Tyvj 1729 文艺平衡树 题意: 一个数列,支持区间翻转操作。 题解: splay裸题。注意涉及到区间操作的一般用splay不用treap。 代码: 20160418 阅读全文
摘要:
bzoj2563阿狸和桃子的游戏 题意: 一个n(偶数)点图,节点权值为w(v),边权为c(e)。两人轮流将图中的顶点染色,已经被染过色的点不能再染了,而且每一轮都必须给一个且仅一个顶点染色。染完后每个人的分数为染过的点权和以及两个端点都被染的边权和。如果两人都是采用最优策略的,求最终第一个人的分数 阅读全文
摘要:
bzoj3673可持久化并查集 by zky 题意: 维护可以恢复到第k次操作后的并查集。 题解: 用可持久化线段树维护并查集的fa数组和秩(在并查集里的深度),不能路径压缩所以用按秩启发式合并,可以使合并均摊复杂度为O(nlog2n)。可持久化线段树实际上就是在更新节点时按主席树的插入方式新建一条 阅读全文
摘要:
bzoj3156防御准备 题意: n个检查点,在第i个检查点放置塔花费a[i],放置木偶花费为该位置右边最近一个塔离它的距离。求最小花费。n≤1000000 题解: 从右往左处理。在第i个点放塔的费用f[i]=min{f[j]+sigma(k,i+1,j-1)k-i}+a[i],用等差数列求和公式化 阅读全文
摘要:
bzoj2588 Spoj 10628. Count on a tree 题意: n点树,m个询问求点u到点v路径上第k小的点权。强制在线。n,m≤100000 题解: 用主席树维护某节点到根节点的权值数量sz,建树过程可以由父亲节点递推。询问就用倍增求出lca,然后路径上的sz值就为sz[u]-s 阅读全文
摘要:
bzoj1030[JSOI2007]文本生成器 题意: 给出一个字典和一个长度,要求有多少个这个长度的字符串里含有子串为字典里的单词。字符串和字典里的字符都为大写字母。单词数≤60,字符串及单词长度≤100。 题解: 在AC自动机上跑dp,求不含字典单词的个数,再用总个数减。f[i][j]表示当前处 阅读全文
摘要:
bzoj1269[AHOI2006]文本编辑器editor 题意: 维护一个字符串,支持插入,删除,翻转操作。 题解: C++有个库里面有个容器叫rope,可以实现可持久化平衡树,然而本题只要它的插入、删除、截取字符串功能就行了,翻转怎么办?维护一个倒序的rope即可。 代码: 20160620 阅读全文
摘要:
bzoj3172[Tjoi2013]单词 题意: 某人读论文,一篇论文是由许多单词组成。但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次。注意论文中单词之间是有分隔的。单词数≤200,长度≤1000000 题解: 先将每个单词插入trie,经过的节点的sum[i]++, 阅读全文