摘要:
首先,观察到逆序数很小,所以整个排列被移动的数很少,最多有 \(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号