11 2022 档案
CF1739F题解
摘要:每个串提供的信息是若干个相邻字符的限制,如果相邻字符连边,最后一定得到一条链,否则这个串不可能被表示出来。 得到的这条链相当于答案的一个子串,如果最后答案包含这个字串,那么就会有 \(c_i\) 的贡献。 由于有多个串,考虑建立AC自动机,把贡献累计到每个串对应的节点上,那么原问题就相当于把最后的排 阅读全文
posted @ 2022-11-24 15:53 cool_tyl 阅读(11) 评论(0) 推荐(0)
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 阅读(16) 评论(2) 推荐(1)
CF1699D题解
摘要:考虑 \(dp\),设 \(f_i\) 表示考虑前 \(i\) 个数,且留在最后的数是 \(a_i\) 的最长长度。 转移就考虑枚举上一个位置 \(j\),满足 \(a_j=a_i\) 且 \([j+1,i-1]\) 这个区间的数,能被抵消,于是现在的问题就变成如何判断一个区间的数能否消完,类似摩尔 阅读全文
posted @ 2022-11-21 15:35 cool_tyl 阅读(13) 评论(0) 推荐(0)
ABC245G题解
摘要:似乎是经典套路? 先不考虑颜色限制,那么就直接把 $l$ 个关键点当作起点跑多源最短路就行了。 现在考虑颜色限制,有一种暴力的想法是枚举所有颜色,只把这种颜色的点当作起点,然后跑dijkstra,然后更新颜色不为这个的终点。 发现这样终点就被更新了很多次,考虑优化。 考虑枚举颜色的每个二进制位,把所 阅读全文
posted @ 2022-11-20 22:24 cool_tyl 阅读(37) 评论(0) 推荐(0)
CF1693D题解
摘要:很妙的dp题。 首先肯定要想判断一个序列是否合法。 第一篇题解的结论太强了,蒟蒻只能想到dp。 设 \(dp_{i,0}\) 表示 \(a_i\) 作为上升段末尾时,下降段末尾的最大值。 \(dp_{i,1}\) 表示 \(a_i\) 作为下降段末尾时,上升段末尾的最小值。 起点:\(dp_{i,0 阅读全文
posted @ 2022-11-20 20:10 cool_tyl 阅读(11) 评论(0) 推荐(0)
11.19考试题解
摘要:记录一下爆炸的模拟赛。 T1 原题,这道题的题解之前写过,在这。 T2 由于边数接近点数,整个图的形态接近树,想到建出原图的一个生成树(任意一个),这样两个点的距离分为两类: 只经过树边。 经过非树边。 对于第一种,直接维护树的深度就行。 对于第二种,考虑枚举非树边的点i,答案就为 $\min di 阅读全文
posted @ 2022-11-19 18:35 cool_tyl 阅读(30) 评论(0) 推荐(0)
CF1648D题解
摘要:记 \(s_{i,j}\) 表示第 \(i\) 行前 \(j\) 列的价值和(即前缀和)。 之前模拟赛遇到过类似的线段覆盖问题,考虑 \(dp\),设 \(f_i\) 表示从 \((1,1)\) 走到 \((2,i)\) 且所选线段的右端点恰好覆盖到 \(i\) 的最大收益。 将所有线段按右端点排序 阅读全文
posted @ 2022-11-14 19:43 cool_tyl 阅读(36) 评论(1) 推荐(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 阅读(94) 评论(0) 推荐(0)
CF1746D题解
摘要:很好的一道贪心题。 首先对于每条路径,由于要最大化权值,每条路径肯定要延伸到叶子节点。 切入点肯定在 $|c_u-c_v|\leq 1$,也就是说由节点 $i$ 延伸下去的路径要均匀分配给子节点,比如要从 $i$ 延伸 $k$ 条路径下去,肯定每个子节点分配 $\lfloor \frac{k}{so 阅读全文
posted @ 2022-11-13 16:20 cool_tyl 阅读(34) 评论(0) 推荐(0)
CF1735E题解
摘要:钦定 $p_1=0,p_2>0$,不难证明如果有解则一定存在 $p_2>p_1$ 的解。考虑枚举和 $d_{1,1}$ 是相同楼房,则 $p_2$ 对于每一种情况有两种可能的位置:$d_{1,1}+d_{2,i}$ 和 $|d_{1,1}-d_{2,i}|$。考虑判断这 $2n$ 种可能的方案是否合 阅读全文
posted @ 2022-11-11 20:18 cool_tyl 阅读(27) 评论(0) 推荐(0)
CF1706D&E
摘要:D Easy Version 枚举最小值$v$($0\leq v\leq a_1$),然后我们希望最小化最大值。 也就是说,对$\forall i$,我们在满足$\lfloor \frac{a_i}{p_i} \rfloor \geq v$的前提下,使$\lfloor \frac{a_i}{p_i} 阅读全文
posted @ 2022-11-10 23:31 cool_tyl 阅读(36) 评论(0) 推荐(0)
11.8考试题解
该文被密码保护。
posted @ 2022-11-09 17:58 cool_tyl 阅读(3) 评论(0) 推荐(0)
AGC028B题解
摘要:提供一个不用期望的做法。 考虑一个区间 $[l,r]$ 的贡献,就是这段区间的和乘上有多少排列的权值要用到这段区间。 现在讨论有多少排列的权值有这段区间。 这段区间会被用到当且仅当 $l-1$ 和 $r+1$ 均出现在 $l\sim r$ 的前面,即把这个区间分裂出来。 为了避免出错,这里进行分类讨 阅读全文
posted @ 2022-11-07 19:58 cool_tyl 阅读(15) 评论(0) 推荐(0)
CF446C题解
摘要:看到序列操作,又是区间加,想到线段树。 但是维护斐波那契数列的和无法打标记,但发现对于一个区间,加上一个斐波那契数列后仍然满足递推公式 \(f_i=f_{i-2}+f_{i-1}\),只是递推起点 \(f_1,f_2\) 变了,这启发我们将这个数列里的数都和 \(f_1,f_2\) 取得联系,这样每 阅读全文
posted @ 2022-11-07 12:05 cool_tyl 阅读(14) 评论(0) 推荐(0)
CF1643F题解
摘要:容易想到维护 \(c_i=a_i-b_i\),最后只用看 \(c\) 是否全是 \(0\)。 看到区间加后想到维护 \(c\) 的差分,而且 \(c\) 全为 \(0\) 等价于差分全为 \(0\),但普通的差分可行是因为增量满足递推式 \(a_i=a_{i-1}\),这样前减后就刚好抵消,但现在增 阅读全文
posted @ 2022-11-07 10:52 cool_tyl 阅读(15) 评论(0) 推荐(0)
AGC036D题解
摘要:考虑把不存在负环转换为存在差分约束。 由于 \(i \rightarrow i+1\) 的 \(0\) 边不能删,因此有 \(x_i\geq x_{i+1}\),然后是经典操作,把大小限制转为差分,令 \(q_i=x_{i}-x_{i+1}\),那么这个限制就是 \(q_i\geq 0\)。 考虑保 阅读全文
posted @ 2022-11-07 09:55 cool_tyl 阅读(20) 评论(0) 推荐(0)
ARC092B题解
摘要:涉及位运算,考虑拆位。 即统计每一位的贡献。 假设现在统计第 \(i\) 位的贡献。 首先枚举 \(b_i\),然后看有多少个 \(a_j\) 和 \(b_i\) 相加后第 \(i\) 位是 \(1\),如果只看第 \(i\) 位,如果和是 \(1\),则不能进位,否则必须进位,若要求进位,则满足 阅读全文
posted @ 2022-11-06 23:42 cool_tyl 阅读(37) 评论(0) 推荐(0)
洛谷P7359
摘要:考虑暴力 \(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)
CF768E题解
摘要:为了方便,如果 \(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)
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 阅读(22) 评论(0) 推荐(0)
CF1725I题解
摘要:将要计数的图称为第一种图,关键树成为第二种图。 考虑从小到大考虑每个边权。 对于每个边权,当它连接到第一种图时,有两种选择。 什么也不做。 将这条边加入第二种图。 对于第一种边,它不能将两个双连通分量连接成一个双连通分量,因为这样分别在两个连通分量里的点的答案将会是这条边权(此时所有的环都有这条边, 阅读全文
posted @ 2022-11-06 17:18 cool_tyl 阅读(13) 评论(0) 推荐(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 阅读(24) 评论(0) 推荐(0)
CF1699E题解
摘要:对于极差,一般思路是固定最小值,然后去找最大值的最小值。 有一个比较显然的性质:相同的数可以执行相同的操作,这样可以看作各个数互不相同。 考虑动态规划:\(f[i][j]\) 表示只考虑 \(j\) 这个数,把它分解成若干个大于等于 \(i\) 的因数,其最大值的最小值是多少。 \[\left\{ 阅读全文
posted @ 2022-11-06 17:05 cool_tyl 阅读(10) 评论(0) 推荐(0)
CF1671F题解
摘要:首先,观察到逆序数很小,所以整个排列被移动的数很少,最多有 \(22\) 个数不在原来的位置上,从排列与逆序数关系上来看,因为一次交换意味着增加一个逆序对,所以最多对 \(22\) 个位置有影响。 这样那些位置不动的一段都不用考虑。 考虑将整个排列划分成这样的 “区间”分开考虑: \(p_l,p_{ 阅读全文
posted @ 2022-11-06 17:03 cool_tyl 阅读(6) 评论(0) 推荐(0)
CF1637G题解
摘要:通过打表发现,答案一定是 \(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)
CF1442E题解
摘要:显然对于连在一起的同种颜色可以一起操作,等价于缩成一个点。 考虑缩完点的树,首先不考虑灰色点,那么这棵树一定黑白相间,那么如果我们固定一个点为根,这棵树就被分层,每一层的颜色一样,可以从最后一层往前删,次数为最大深度+1。 我们知道一棵无根树的最大深度的最小值为 \(\lceil \frac{d}{ 阅读全文
posted @ 2022-11-06 17:00 cool_tyl 阅读(12) 评论(0) 推荐(0)
CF1327F题解
摘要:神奇 \(dp\)优化。 位运算每位独立,因此可以算二进制每一位的方案数,最后乘起来。 由于这样有 \(\log n\) 次计算,则每次计算复杂度必须为线性。 现在每个限制就等价于一些区间全为1,一些区间不全为1,怎么那么像冒泡排序A性质。 现在不考虑第一种限制,满足第二种限制需要每个区间里都至少有 阅读全文
posted @ 2022-11-06 16:59 cool_tyl 阅读(9) 评论(0) 推荐(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 阅读(20) 评论(0) 推荐(0)
CF1043F题解
摘要:最大公约数的经典套路。 容易想到暴力 \(dp\),\(f[i][j]\) 表示前 \(i\) 个数中选出 \(\gcd=j\) 的最小个数。 但事实上本题给出的序列等价于集合,应该往值域的方向思考。 由于本题值域较小,又由 \(\gcd\),不由想到质因数。发现选出一些数互质只跟每个数的质因数种类 阅读全文
posted @ 2022-11-06 16:56 cool_tyl 阅读(19) 评论(0) 推荐(0)
CF958C3题解
摘要:考虑暴力 \(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)
11.4题解
该文被密码保护。
posted @ 2022-11-04 18:44 cool_tyl 阅读(0) 评论(0) 推荐(0)
11.3比赛题解
该文被密码保护。
posted @ 2022-11-04 18:16 cool_tyl 阅读(1) 评论(0) 推荐(0)