8.1
P6222
令 ,为积性函数,讨论 的取值。
P10636
枚举第一个点和第三个点的横纵坐标之差 ,第二个点有 种选择。
莫比乌斯反演。
8.3
P3598
对每个指数 min-max 容斥,乘起来得到 gcd-lcm 容斥。
。提出 。因为 ,用 map 储存指数。
8.6
arc069d
二分答案,线段树优化建图跑 2-sat。要保证 不会连到 ,向排序后一个编号区间连边,中间挖空。
P10833
枚举每个 将序列划分开,枚举左/右端点,钦定最大值在左/右边,可以确定一段区间。随机异或哈希比较 。
8.7
arc072d
模拟赛 T2。
设 为前 天体积为 的最大质量,图像上凸。 到 即删去 ,在最开始加上 ,在将前面取 max 为上凸。双端队列维护。
arc070c
模拟赛 T3。
设 表示前 条线段,第 条左端点为 的最小代价。。
取 min 和加绝对值函数,下凸,slope trick 维护。
模拟赛 T4
从小到大放入特殊点,当前在点 ,已选的比赛集合为 ,有 个点在 中没被选。每个和 比赛的特殊点都是子树中最大的。dp 套 dp 维护上升子序列长度,做前缀最大值后差分后状压得 , 是 的子集。枚举没选过的比赛 ,。
P3343
个 之间的随机变量第 小的为 。引入第 个随机变量 ,第 小的数值等于 比第 小小的概率 。
表示选点集 ,连了 条边,不连通的方案数, 为 内部的边,连通的方案数为 。枚举 的子集 ,。枚举答案为第 条边,。
8.8
P9047
模拟赛 T3。
表示 子树并向上传长为 的链的最大贡献。转移时背包 记录上传长度 的儿子比上传长度 的多多少,以及上传长度 儿子的奇偶性。随机排列儿子,期望前缀和最大值是 级别的。
agc061c
选 或 有被选过选 。容斥,取最大的 和 , 间选法固定,。
8.9
CF925E
链加,树剖 dfn 区间加,分块维护。先减去 ,维护 的白点数量。
Q4815
点分治,树上依赖性背包,。如果一定要选 ,就 合并在前序遍历 dfn 序在 中的背包和后序遍历 dfn 序在 的背包选出 个数。当分治的区域小于 时停止,复杂度 。
abc269h
树形背包写成生成函数形式,。分为重儿子和轻儿子贡献。分治 ntt 维护 ,所有轻儿子子树大小之和为 。重链上 。只需要知道链顶的值,。分治 ntt 维护前缀乘积之和和乘积。复杂度 。
hdu7503
树形背包写成生成函数形式,。特别的,需要求出重链上所有 每项的系数和,即 的区间乘积之和。分治 ntt 维护前缀乘积之和、后缀乘积之和、乘积和区间乘积之和。
8.10
cf rmj 暴毙!
CF1733E
模拟赛 T3。
时刻可能在 的是 出发的人。设 表示前 个人会经过 几次,。差分看 是否为 。
Q6815
模拟赛 T4。
线段树维护 。 线段树上二分的 pushup。区间加和区间覆盖。线段树上二分。
8.11
arc182c
思路
有 个小于 的质数,设这 个质数的指数分别为 。。状压这 个数,维护 。当加入一个数时,某些 会加 , 二进制第 位为 的 会从 的子集且一些二进制第 位为 的 的 转移来。
8.12
模拟赛 T3
设 表示当前有 种状态的期望次数。。转移有环,设 ,递推 ,找到 可以计算 真正的值,。
P8996
让前缀最大值 代表整个区间,可以看做合并是将两个序列的前缀最大值排序。每次合并相当于在 处断开跨过序列中点的区间 ,然后再重新按区间左端点的值排序。最多操作 次,最多 种区间。将询问离线,维护每次合并后的区间信息。建权值线段树表示前缀最大值 代表的区间长度之和。
P8997
按题意模拟,用栈建出二叉树,叶子节点是要填的值,非叶子是运算符。
判断一个叶子能贡献能填哪些数并最终成为答案,设 表示 子树内, 处的值 或 , 或 最少为多少。根据 处的运算符分类讨论转移。对于每个叶子算限制,只与从根到 的 dp 值有关。可以发现放在一个叶子的答案是一个区间 ,差分维护区间加,最后计算大于 的位置数。
8.13
模拟赛 T3
合并连续段写为二元组 。每次找到区间最小值合并,如果 为奇数,一定不可能被跨过,写为 。线段树维护。
8.14
arc080d
模拟赛 T4。
将 数组差分,得到 倍连续段个数个 ,一次操作形如 和 同时异或 。 向 连边,即为 的最短路。由哥德巴赫猜想, 内 的偶数可以写成两个质数之和,,,所以所以 到偶数 的最短路为 。如果 为奇质数,最短路为 ;否则 为偶数,最短路为 。
现在要将 个数两两分组,代价为 ,最小化代价和。当选完若干个代价为 的组时,奇偶性相同组的代价为 ,尽量匹配,代价为 的至多只有一组。所以最大化代价为 的组数。代价为 时 奇偶性不同,等于二分图最大匹配,网络流即可。复杂度 。
abc216h
概率转为方案数除以 。由 LGV 引理,。 为 步选 步向前走。设 表示选了 里的终止点,终止点 的方案数。
agc034d
最大化曼哈顿距离,拆绝对值变成 个 独立的式子。只要匹配的点对选的同一种式子即可。最小费用最大流。
8.15
【模板】矩阵求逆
将矩阵和单位矩阵放在一起高斯消元,把左边的矩阵消为单位矩阵时右边的单位矩阵变成逆矩阵。
模拟赛 T3
求 使得 的矩阵 。
。对 做 BSGS。对于 个可能的 ,判断 。只有 个 ,复杂度 。
8.17
模拟赛 T2
是关于 的 次多项式,维护 个点值插值。
模拟赛 T3
对于每个连通块,二分图染色分为 和 个点。每次要么选 要么选 ,要最小化 和 的差。bitset 维护背包,只有 个本质不同物品,相同的物品二进制优化。复杂度 。
模拟赛 T4
找出最小生成树。从小到大加入边,维护边双,一定能去到一个边双的最小权值的边。并查集维护每个点属于哪个边双,维护边双最浅的点,维护 的最小边权 和最小答案 。
对于 ,如果 已经属于同个边双,不会贡献。如果 是最小生成树中的边,如果 能新到一些点,bfs 拓展,赋值答案。否则将 路径上的边双合并,设新边双最浅点为 ,将 子树的所有点的 和 更新。如果更新到了非法的点,一定是没有被拓展到的,会在被拓展到时被覆盖。
8.19
CF622F
是 次多项式,算 个点值插值。维护阶乘,,。如果 是奇数取负号。
arc165e
等价于每种情况出现的概率之和。概率为连通块相邻的点被选都在连通块被选之前,即 。设 表示根为 ,子树内选 个点,有 个相邻的点的连通块的概率, 转移。
abc249g
模拟赛 T3。
枚举 和 的最高相同的位 , 位以下不用管。按位贪心确定 ,将 和 拼在一起放入线性基中。复杂度 。
减少有用的 。如果 能被 表示出,那 消去对应的 ,变成 不会造成影响。只有 个 。复杂度 。
8.20
模拟赛 T3
从深度大往小维护线段树,启发式合并。 和 处 差分维护加 ,lca 对应 的儿子处删除。每次修改后,线段树上二分极长非零连续段的左右端点,回答能回答的询问并删除询问。将询问挂在 上,线段树维护区间 的最大值,每次取出并删除。
CF1174E
一定是 ,且 。每次 或 减一或不变,dp 即可。
8.21
CF1264D2
模拟赛 T2。
等于在唯一一个 的地方计算答案。枚举分界点,设左边有 个 (
, 个 ?
,右边有 个 )
, 个 ?
,答案为 。
CF1616H
模拟赛 T4。
建 trie dp,设 表示 子树内选点两两异或小于等于 的方案数, 表示 子树内选点两两异或小于等于 的方案数。分讨向下递归,每个点只经过一次。