摘要:
修了一些我发现的锅,可能还有一些锅,欢迎来锤 其实我也不知道是不是叫这个名字。 假设有一个数组 $a_0,a_1,...,a_{2^n}$ ,求一个数组 $b_x=\sum\limits_{i|x=x} a_i$ ,即子集和。(妈呀不就是 fwt_or 吗) 先上代码: 原理:从小到大枚举每一位,然 阅读全文
摘要:
一道感觉挺好玩的通信题。 首先这应该是到二合一的题目,Subtask 1 4 和 Subtask 5 7 没有什么共通的方法。 首先看 Subtask 1 4,要求一点都不能走错,可以使用 $3$ 种标记,图形态没有保证。 做法是先 bfs 一遍,把图分层,分完层之后的图只有 $2$ 种边:相邻两层 阅读全文
摘要:
首先考虑一个简单的 $n^2$ dp,令 $f_i$ 表示在 $t_i$ 天, $1$ 到 $r_i$ 的所有人都已经被治疗完毕了的最小花费。 然后考虑 Dijkstra 一样的方式进行 dp,每次找到所有尚未松弛的 $i$ 中 $f_i$ 最小的那个进行转移,可以从 $i$ 向 $j$ 转移的条件 阅读全文
摘要:
好像主流做法是点分治,然后我在考场上写了一个时间和空间常数都很大的 tarjan + 倍增优化建图的垃圾做法。 下面介绍我的垃圾做法: 首先考虑对于两个颜色 $x$ , $y$ ,若选了颜色 $x$ 就必须选 $y$ ,则在图中连一条 $x \rightarrow y$ 的边。那么可以对这个图进行 阅读全文
摘要:
一道感觉挺神的题目。 考虑在操作中寻找一些方便计算的东西用来转化。 假设在对第 $i(i \neq 1,i \neq n)$ 个位置操作,那么该操作合法的一个必要条件是 $s_{i 1} \neq s_{i+1}$ ,那么该串中同色的连续段个数不会变。 考虑对于每一个 $s_i \neq s_{i+ 阅读全文
摘要:
感觉这是一道不难的题目。 显然,如果有 2 个相同的数,一定是把花费较小的那个数 +1 ,如果有 3 个相同的数,一定是把花费较小的那 2 个数 +1。 那么可以得出操作的方法,假设目前在处理 $x$,那么对于所有满足 $a_i=x$ 的 $i$ ,把除了 $b_i$ 最小的全部 +1,这样可以保证 阅读全文
摘要:
从神 Karry 的题单过来的,然后自己瞎 yy 了一个方法,看题解区里没有,便来写一个题解 一个常数和复杂度都很大的题解 令 $dp_{i,j}$ 为 在 $i$ 个球中选 $j$ 组的方案数,则显然有转移 $dp_{i,j}=dp_{i 1,j}+dp_{i 1,j 1}+dp_{i 2,j 1 阅读全文
摘要:
本文不是教大家后缀自动机,只是扔两个板子 ~~个人认为大多数基础题只要会板子就好了~~ 建出 SAM : 求出每个子串的出现次数 动态询问不同子串个数 阅读全文
摘要:
第二章 切比雪夫单调不等式 $$\sum_{i=1}^n\sum_{j=1}^n a_ib_j \le n\sum_{i=1}^n a_ib_i\ ,\ a_1 \le a_2 \le \cdots \le a_n \text{且} b_1 \le b_2 \le \cdots \le b_n $$ 阅读全文