CF1667E
摘要:以 \(1\) 为根,那么所有节点 \(i\) 的父亲就是节点编号小于 \(i\) 的任意一个节点。 这时节点 \(i\) 成为根的必要条件是 \(i\) 的子树大小 \(\geq \frac{n+1}{2}\)。 设 \(f_i\) 表示 \(i\) 子树大小 \(\geq \frac{n+1}{
阅读全文
posted @
2022-11-24 09:57
cool_tyl
阅读(18)
推荐(1)
CF449D
摘要:纪念一下少数自己做出来的计数题。 发现全部与起来为 $0$ 的限制比较难处理,因为要求每一位至少有一个 $0$,看到至少,想到容斥。 设 $f(i)$ 为强制 $i$ 状态里的二进制位为 $1$ 的方案数,则 $ans=\sum_i(-1)^{cnt_i}f(i)$。 由于 $f_i$ 要求被选的所
阅读全文
posted @
2022-11-13 17:26
cool_tyl
阅读(97)
推荐(0)
AGC028B题解
摘要:提供一个不用期望的做法。 考虑一个区间 $[l,r]$ 的贡献,就是这段区间的和乘上有多少排列的权值要用到这段区间。 现在讨论有多少排列的权值有这段区间。 这段区间会被用到当且仅当 $l-1$ 和 $r+1$ 均出现在 $l\sim r$ 的前面,即把这个区间分裂出来。 为了避免出错,这里进行分类讨
阅读全文
posted @
2022-11-07 19:58
cool_tyl
阅读(15)
推荐(0)
CF1728G题解
摘要:看到 \(m\) 很小,可以想到状压或容斥。 状压比较困难,考虑容斥。 枚举没有被照亮的点的集合,记为 \(S\),\(f(S)\) 为其方案数。 \[ans=\sum_{S}(-1)^{|S|}f(S) \]考虑计算 \(f(S)\)。发现 \(S\) 里的点会把原区间划分为 \(|S|+1\)
阅读全文
posted @
2022-11-06 17:19
cool_tyl
阅读(25)
推荐(0)
CF1725I题解
摘要:将要计数的图称为第一种图,关键树成为第二种图。 考虑从小到大考虑每个边权。 对于每个边权,当它连接到第一种图时,有两种选择。 什么也不做。 将这条边加入第二种图。 对于第一种边,它不能将两个双连通分量连接成一个双连通分量,因为这样分别在两个连通分量里的点的答案将会是这条边权(此时所有的环都有这条边,
阅读全文
posted @
2022-11-06 17:18
cool_tyl
阅读(13)
推荐(0)
CF1704H1题解
摘要:做法来自官方题解。 首先,假设 \(b\) 是固定的,计算不同 \(a\) 的数量。 可以发现如下性质: 如果 \(b_i\neq i\),说明 \(i\) 被 \(b_i\) 占领,一定有 \(a_{b_i}=i\)。 如果 \(b_i=i\),意味着对于所有 \(a_j=i\),\(j\) 攻击
阅读全文
posted @
2022-11-06 17:06
cool_tyl
阅读(27)
推荐(0)
CF1671F题解
摘要:首先,观察到逆序数很小,所以整个排列被移动的数很少,最多有 \(22\) 个数不在原来的位置上,从排列与逆序数关系上来看,因为一次交换意味着增加一个逆序对,所以最多对 \(22\) 个位置有影响。 这样那些位置不动的一段都不用考虑。 考虑将整个排列划分成这样的 “区间”分开考虑: \(p_l,p_{
阅读全文
posted @
2022-11-06 17:03
cool_tyl
阅读(7)
推荐(0)
CF1237F题解
摘要:首先简化问题,在 \(1\times n\) 的棋盘中放入 \(a\) 个单格牌和 \(b\) 个双格牌的方案数(有些位置禁止放)。 考虑 \(dp\),设 \(f_{i,j}\) 表示在前 \(i\) 个格子中放入 \(j\) 个 \(2\) 格牌的方案数。 转移:若 \(i\) 和 \(i-1\
阅读全文
posted @
2022-11-06 16:57
cool_tyl
阅读(22)
推荐(0)