摘要: 分析 我们发现+1操作就是对于一段连续的1找到它前面最近的0 将这一整段每个数都异或1 我们可以在01trie上走将每一个合法点拿出来打上标记 然后最后依次交换所有标记点的左右儿子即可 我们继续考虑带异或的问题 我们发现我们可以存一下之前的总异或值 然后所有操作前把数跟这个数异或一下即可 代码 阅读全文
posted @ 2019-09-06 08:36 水题收割者 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 分析 我们发现行列独立 只要分别求出答案然后相乘即可 而对于所有行我们可以将其哈希后变为一行 这样就转化为了1*n的问题 代码 阅读全文
posted @ 2019-09-06 08:27 水题收割者 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 分析 我们按照w排序 之后2是左括号1是右括号 3既可以是左括号又可以是右括号 然后直接dp即可 我们发现合法的k不会超过sqrt 所以复杂度是对的 对于w相等的情况我们按照种类231排序 代码 阅读全文
posted @ 2019-09-06 08:23 水题收割者 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 分析 从1~n以此放数 每个数i会产生0~i-1的贡献 dp[i][j]表示前i个数产生j的贡献 前缀和优化一下即可 代码 阅读全文
posted @ 2019-09-06 08:16 水题收割者 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 分析 我们知道对于一个置换它变回自己需要的次数树$LCM(g_1,g_2..,g_n)$ 有$LCM = \prod p_i^{k_i}$ 因为循环大小为1没有贡献 所以对于该等式的限制即为 $\sum p_i^{k_i} \leq n$ 用$dp_i$表示大小为$i$时的方案数即可 代码 阅读全文
posted @ 2019-09-06 08:08 水题收割者 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目大意 求$\sum_{i=1}^{n} i^k$ 分析 我们发现这是一个$k+1$次多项式 因此我们求出前$k+2$项然后插值即可 由于$x_i = i$ 因此公式里面的乘机可以通过预处理然后循环中乘逆元的方式快速得到 代码 阅读全文
posted @ 2019-09-06 07:55 水题收割者 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 分析 我们可以建出s串的parent树 然后t串在上面跳着找即可 代码 阅读全文
posted @ 2019-09-06 07:49 水题收割者 阅读(136) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/blog/Kesdiael3/hou-zhui-zi-dong-ji-yang-xie 代码 阅读全文
posted @ 2019-09-06 07:46 水题收割者 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 分析 代码 阅读全文
posted @ 2019-09-06 07:44 水题收割者 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 分析 代码 阅读全文
posted @ 2019-09-06 07:32 水题收割者 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 分析 将m个车拆为n*m个点 相当于将每个车在不同的时段修分成新的车 在第n-i个时段会对之后的车总共造成i*t[i]的贡献 人向车连边然后分别连st即可 代码 阅读全文
posted @ 2019-09-06 07:29 水题收割者 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 分析 树状数组做区间加时要用到差分的思想 代码 阅读全文
posted @ 2019-09-06 07:19 水题收割者 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 模板 阅读全文
posted @ 2019-09-06 07:14 水题收割者 阅读(293) 评论(0) 推荐(0) 编辑