摘要:
涉及位运算,考虑拆位。 即统计每一位的贡献。 假设现在统计第 \(i\) 位的贡献。 首先枚举 \(b_i\),然后看有多少个 \(a_j\) 和 \(b_i\) 相加后第 \(i\) 位是 \(1\),如果只看第 \(i\) 位,如果和是 \(1\),则不能进位,否则必须进位,若要求进位,则满足 阅读全文
posted @ 2022-11-06 23:42
cool_tyl
阅读(36)
评论(0)
推荐(0)
摘要:
考虑暴力 \(dp\),把这条链上的点抽出来,并设 \(a_i\) 等信息都是从 \(i\) 向 \(i+1\) 的信息。 设 \(dp_{i,0/1}\) 表示在 \(i\) 这个点无/有船的最小时间。考虑从 \(i\) 递推到 \(i+1\)。 如果顺流: \(dp_{i+1,0}=\min(d 阅读全文
posted @ 2022-11-06 22:33
cool_tyl
阅读(30)
评论(0)
推荐(0)
摘要:
为了方便,如果 \(a_i=-1\),则将其赋值为 \(n+1\)。 不难从小的位置连向大的位置建图,对于 \(i\),如果 \(a_i\neq n+1\),则 \(i\) 向 \(a_i\) 连边,然后遍历 \(j\in[1,a_i)\),如果 \(j\) 未被标记,则 \(j\) 向 \(i\) 阅读全文
posted @ 2022-11-06 21:16
cool_tyl
阅读(5)
评论(0)
推荐(0)
摘要:
看到 \(m\) 很小,可以想到状压或容斥。 状压比较困难,考虑容斥。 枚举没有被照亮的点的集合,记为 \(S\),\(f(S)\) 为其方案数。 \[ans=\sum_{S}(-1)^{|S|}f(S) \]考虑计算 \(f(S)\)。发现 \(S\) 里的点会把原区间划分为 \(|S|+1\) 阅读全文
posted @ 2022-11-06 17:19
cool_tyl
阅读(22)
评论(0)
推荐(0)
摘要:
将要计数的图称为第一种图,关键树成为第二种图。 考虑从小到大考虑每个边权。 对于每个边权,当它连接到第一种图时,有两种选择。 什么也不做。 将这条边加入第二种图。 对于第一种边,它不能将两个双连通分量连接成一个双连通分量,因为这样分别在两个连通分量里的点的答案将会是这条边权(此时所有的环都有这条边, 阅读全文
posted @ 2022-11-06 17:18
cool_tyl
阅读(13)
评论(0)
推荐(0)
摘要:
做法来自官方题解。 首先,假设 \(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
阅读(23)
评论(0)
推荐(0)
摘要:
对于极差,一般思路是固定最小值,然后去找最大值的最小值。 有一个比较显然的性质:相同的数可以执行相同的操作,这样可以看作各个数互不相同。 考虑动态规划:\(f[i][j]\) 表示只考虑 \(j\) 这个数,把它分解成若干个大于等于 \(i\) 的因数,其最大值的最小值是多少。 \[\left\{ 阅读全文
posted @ 2022-11-06 17:05
cool_tyl
阅读(10)
评论(0)
推荐(0)
摘要:
首先,观察到逆序数很小,所以整个排列被移动的数很少,最多有 \(22\) 个数不在原来的位置上,从排列与逆序数关系上来看,因为一次交换意味着增加一个逆序对,所以最多对 \(22\) 个位置有影响。 这样那些位置不动的一段都不用考虑。 考虑将整个排列划分成这样的 “区间”分开考虑: \(p_l,p_{ 阅读全文
posted @ 2022-11-06 17:03
cool_tyl
阅读(6)
评论(0)
推荐(0)
摘要:
通过打表发现,答案一定是 \(2\) 的次幂。 证明: 操作等价于矩阵转移: \[\begin{pmatrix} x' \\ y' \end{pmatrix} = \begin{pmatrix} 1&1 \\ -1&1 \end{pmatrix} \begin{pmatrix} x\\ y \end 阅读全文
posted @ 2022-11-06 17:02
cool_tyl
阅读(14)
评论(0)
推荐(0)
摘要:
显然对于连在一起的同种颜色可以一起操作,等价于缩成一个点。 考虑缩完点的树,首先不考虑灰色点,那么这棵树一定黑白相间,那么如果我们固定一个点为根,这棵树就被分层,每一层的颜色一样,可以从最后一层往前删,次数为最大深度+1。 我们知道一棵无根树的最大深度的最小值为 \(\lceil \frac{d}{ 阅读全文
posted @ 2022-11-06 17:00
cool_tyl
阅读(12)
评论(0)
推荐(0)
摘要:
神奇 \(dp\)优化。 位运算每位独立,因此可以算二进制每一位的方案数,最后乘起来。 由于这样有 \(\log n\) 次计算,则每次计算复杂度必须为线性。 现在每个限制就等价于一些区间全为1,一些区间不全为1,怎么那么像冒泡排序A性质。 现在不考虑第一种限制,满足第二种限制需要每个区间里都至少有 阅读全文
posted @ 2022-11-06 16:59
cool_tyl
阅读(9)
评论(0)
推荐(0)
摘要:
首先简化问题,在 \(1\times n\) 的棋盘中放入 \(a\) 个单格牌和 \(b\) 个双格牌的方案数(有些位置禁止放)。 考虑 \(dp\),设 \(f_{i,j}\) 表示在前 \(i\) 个格子中放入 \(j\) 个 \(2\) 格牌的方案数。 转移:若 \(i\) 和 \(i-1\ 阅读全文
posted @ 2022-11-06 16:57
cool_tyl
阅读(20)
评论(0)
推荐(0)
摘要:
最大公约数的经典套路。 容易想到暴力 \(dp\),\(f[i][j]\) 表示前 \(i\) 个数中选出 \(\gcd=j\) 的最小个数。 但事实上本题给出的序列等价于集合,应该往值域的方向思考。 由于本题值域较小,又由 \(\gcd\),不由想到质因数。发现选出一些数互质只跟每个数的质因数种类 阅读全文
posted @ 2022-11-06 16:56
cool_tyl
阅读(19)
评论(0)
推荐(0)
摘要:
考虑暴力 \(dp\),有 \(dp_{i,j}=\min_{k}(dp_{k,j-1}+(s_i-s_k)\bmod p)\) 注意到 \(dp_{i,j} \equiv s_i\pmod{p}\)。 假设 \(x,y\) 为两个转移点,设 \(w_x=(s_i-s_x)\bmod p\),\(w 阅读全文
posted @ 2022-11-06 16:49
cool_tyl
阅读(13)
评论(0)
推荐(0)
浙公网安备 33010602011771号