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,设 表示 子树内选点两两异或小于等于 的方案数, 表示 子树内选点两两异或小于等于 的方案数。分讨向下递归,每个点只经过一次。