摘要: "bzoj" "luogu" description 有一个方程$x_1+x_2+...+x_n=M$。 有$n_1$个变量要求不得大于某个数,有$n_2$个变量要求不得小于某个数。 求方程的正整数解的数量模$10007$或者模$262203414$或者模$437367875$。 $n_1,n_2\ 阅读全文
posted @ 2018-08-13 16:25 租酥雨 阅读(253) 评论(0) 推荐(0) 编辑
摘要: "codeforces" "bzoj" description 有$n$个人要坐$k$辆车。如果第$i$个人和第$j$个人同坐一辆车,就会产生$w_{i,j}$的代价。 求最小化代价。$n\le4000$ sol 凸优化+决策单调性优化 这么一讲其实这题就已经做完了,复杂度$O(n\log n\lo 阅读全文
posted @ 2018-08-13 16:10 租酥雨 阅读(413) 评论(0) 推荐(0) 编辑
摘要: "bzoj" "luogu" description 维护一个向量集,支持在末尾插入一个向量,以及询问$[l,r]$个插入的向量与$(x,y)$点积的最大值。强制在线。 sol 与$(x,y)$点积最大的向量一定在凸包上。 所以可以维护区间的上凸壳与下凸壳。 用线段树的方式实现:每插满线段树上的一个 阅读全文
posted @ 2018-08-13 16:04 租酥雨 阅读(299) 评论(0) 推荐(0) 编辑
摘要: "codeforces" description 维护一个字符串集合,支持加入一个串,删除一个串,查询集合中的串在给出串中出现了多少次。 强制在线。 sol 二进制分组。维护$\log$个$\mbox{AC}$自动机,每插入一个串后依次合并,并重建$\mbox{fail}$,保证每个大小的$\mbo 阅读全文
posted @ 2018-08-13 15:58 租酥雨 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 长链剖分 长链剖分是一种类似$\mbox{dsu on tree}$的小$\mbox{trick}$,可以把 维护子树中只与深度有关的信息 做到线性的时间复杂度。 实现方式&复杂度证明 对每个点寻找深度最大的儿子作为重儿子,其余作为轻儿子。由此得到了若干条互不相交的长链。 在维护信息的过程中,先$O 阅读全文
posted @ 2018-08-13 15:50 租酥雨 阅读(11414) 评论(5) 推荐(29) 编辑