摘要:
后缀数组+平衡树=后缀平衡树 支持动态插入字符(只能往前插入),即插入一个后缀,维护所有后缀的排名 插入后缀找到位置?平衡树上二分 法一: 哈希+二分,太慢 法二: 第一个字符不同,已经可以比较,否则比较第二个字符开始的后缀,之前这两个后缀排名已经处理好了。直接比较排名即可。 查询任意位置的排名? 阅读全文
摘要:
CF1119F Niyaz and Small Degrees 另类复杂度分析题 对于给定的d f[x][0/1]x为根的子树,到父亲的边连不连,整个子树的花费最小值 转移时候,设要删掉k的出边,都先变成∑f[son][1],再把f[son][0]+vf[son]-f[son][1]插入堆中,取最小 阅读全文
摘要:
最小割 留下最多的点 形如左上或者右上没有点的点一定会留下 对于斜着的关系的两个点不能共存 黑白行染色! 白行的点称为 白点,黑点类似 反着连关系 对于一定会留下的,S到白点,黑点到T,都连inf 不能共存的之间连inf S到白点,黑点到T,都连1 最小割之后,和S相连的白点和和T相连的黑点是被保留 阅读全文
摘要:
P2570 [ZJOI2010]贪吃的老鼠 在Ta的博客查看 显然二分,最大流判定 要满足两个条件: (1) 在任一时刻,一只老鼠最多可以吃一块奶酪; (2) 在任一时刻,一块奶酪最多被一只老鼠吃。 先按照奶酪的边界进行离散化, 变成num个块,就可以知道每个时间有哪些奶酪了 把每个老鼠拆成num个 阅读全文
摘要:
[Ctsc2014]图的分割 阅读理解好题 翻译一下: M(C)就是C这个诱导子图最小生成树最大边权 结论: 按照w进行sort,如果满足w<=Ci,Cj表示u,v的连通块的诱导子图 并且Ci!=Cj那么进行连边 证明: 只需要证明两点: 1.某个边如果现在需要连边(不连就不满足半完美定义),那么以 阅读全文
摘要:
CF1088F Ehab and a weird weight formula 推性质猜结论题 第一步转化,考虑把点的贡献加到边里: $con=\sum (log_2(dis(a_u,a_b))\times min(a_u,a_v))+a_u+a_v$ 然后一个结论: 一个点最多有一个相邻的点比它小 阅读全文
摘要:
双带权重心? 枚举分解点x,x子树内找到一个,x子树外找到一个 考虑一般的操作是贪心移动,与子树总权值有关系 所以不妨按照子树权值进行树链剖分 那么一个点子树内的重心一定在重链上。 从重儿子贪心往上走即可 子树外? 设子树外所有点权值总和是c 先倍增二分找到第一个扣除x的子树总权值之后权值>c/2的 阅读全文
摘要:
CF809D Hitchhiking in the Baltic States CF809D 长度为n的序列{xi},n<=3e5,范围在(li,ri)之间,求LIS最长是多长g(i,l)表示前i个数,LIS长度为l,最后一个数最小是多少(就是那个单调栈)g(i,l)=min(g(i-1,l),xi 阅读全文
摘要:
memset0 多合一无聊题 mod k=t,并且k是p-1的约数 单位根反演石锤了。 所以直接设f[i]表示走i步的方案数, 然后C(L,i)分配位置,再A^i进行矩乘得到f[i] 变成生成函数F(x)=∑f[i]=(A*x+I)^L 求指数mod k=t的系数的和 偏移之后,进行单位根反演 对于 阅读全文
摘要:
%iki9 介绍 朴素地,带入x=-1和1,可以求出k=2的情况,之后就无能为力了。 感觉需要一个东西划分“更细”一些,于是考虑单位根 分是否整除进行讨论即可证明 大力展开式子,套用上面的公式即可证明 条件 1.实现的时候,必须要找到ai,并且构造一种等价变形,使得f(x)可以快速计算 2.该模数意 阅读全文