随笔分类 - dp
摘要:P8997 思路 按题意模拟,用栈建出二叉树,叶子节点是要填的值,非叶子是运算符。 判断一个叶子能贡献能填哪些数并最终成为答案,即 dp 计算要使该叶子的值 \(ans\) 成为答案最少要填 \(num0\) 个 \(<=ans\) 和 \(num1\) 个 \(>ans\) 的数。发现 dp 只与
阅读全文
摘要:arc179d 思路 设计树形 dp。\(dp_{u,0}\) 表示进子树 \(u\) 并不再出去的代价。\(dp_{u,1}\) 表示进子树 \(u\) 并返回,且传送门在 \(fa\)、不在子树内使用传送门的代价。\(dp_{u,2}\) 表示进入子树 \(u\) 并返回,且可以在子树内使用传送
阅读全文
摘要:CF1886E 思路 观察发现每个项目只与程序员数量和最小值有关,所以每个项目对应能力值连续的程序员最优。 项目数 \(m\le 20\),状压。设 \(dp_{i,s}\) 为前 \(i\) 个程序员匹配的项目状态为 \(s\) 是否可行,无法接受。交换维度,改为 \(dp_s\) 表示状态 \(
阅读全文
摘要:P7482 思路 cdq 分治拆成 \([l,mid]\) 到 \((mid,r]\) 的贡献。 对于一个区间计算答案可以用 dp 完成。以 \(mid\) 为交界合并左右的 dp 值。设 \(f_{i,0/1}\) 表示区间 \([i,mid]\) 或区间 \((mid,i]\),是否选 \(mi
阅读全文
摘要:P7247 参考 EI 题解。 思路 因为随机移动,所以可以不管当前在具体哪个点,发现本质不同的只有根节点和非根节点。设 \(dp_{i,0/1}\) 表示还剩 \(i\) 个未标记点,当前在或不在根节点。可以通过根到随机非根节点的期望 \(x\),随机非根节点到根的期望 \(y\),随机非根节点到
阅读全文
摘要:CF1823F 思路 设 \(f_u\) 表示经过 \(u\) 的期望次数。\(f_u\) 的值是所有与 \(u\) 有边的点 \(v\) 的答案 \(f_v\) 除以走向 \(u\) 的概率 \(\frac{1}{d_v}\)。 \[f_u=[u=s]+\sum_{(u,v)\in E,v\neq
阅读全文
摘要:title: '' date: 2024-02-28 18:16:14 tags: [题解,dp] published: true hideInList: false feature: isTop: false CF1527E 思路 dp 题。 设 \(dp_{i,j}\) 表示前 \(i\) 个数
阅读全文
摘要:CF1408G 模拟赛 T2。 思路 从小到大加边,用并查集维护,记录当前联通块的点数 \(siz_i\) 和边数 \(num_i\)。如果 \(num_i=\frac{siz_i\times (siz_i-1)}{2}\) 说明当前联通块是一个合法的组。但是不好计数。 手玩发现,对于任意两个合法的
阅读全文
摘要:CF1218A 模拟赛一车贪心水过去了除了我。 思路 是基环树。先考虑树。如果从一个点开始,定为根,\(ans=\sum siz_u\)。换根 dp 即可。 把环找出来,考虑在环上点 \(u\) 的子树中开始染色的答案。染色的方式是大致是从子树的叶子开始向上。对 \(u\) 的每个非环上儿子做树的
阅读全文
摘要:CF924F 思路 对于一个数字做背包,\(f_i\) 表示当前位能不能凑出 \(i\)。\(f_i\to f_{\mid i-v\mid}\),\(f_i\to f_{i+v}\)。答案一定在 \([0,9]\) 中,发现大于 \(72\) 的背包不优。 当做 \(18\) 位时,这个背包状态有
阅读全文
摘要:CF570E 这题是 P3126 加强版。 思路 要走成回文的路径,即从左上角 \((1,1)\) 开始向右下和右下角 \((n,n)\) 开始向左上,走至相字母字母都相同。dp 计数。 设 \(dp_{i,j,jj,k,kk}\) 表示走了 \(i\) 步后,从左上走到 \((j,jj)\) ,从
阅读全文
摘要:arc119f 自动机写法。开始在做的时候题解没讲每个节点代表什么状态,自己推了一遍,记录一下。 思路 计数,求有多少种替换方式使得 $0$ 到 $n$ 存在一条长度小于等于 $K$ 的路径。 可以做 $O(n^3)$ 的 dp。设 $dp_{i,a,b}$ 表示前 $i$ 个位置,最近的 $A$
阅读全文
摘要:arc162f 思路 $a_{x1,y2}\times a_{x2,y2}\leq a_{x1,y2}\times a_{x2,y1}$ 改为所有 $a_{x1,y1}=a_{x2,y2}=1$,都有 $a_{x1,y2}=a_{x2,y1}=1$。 观察发现,第 $i$ 行 $a_{i,j_1}=
阅读全文
摘要:AT_dp_j 思路 期望 dp。 设 $dp_{i,j,k,l}$ 表示当前有 $0,1,2,3$ 个寿司的盘子数有 $i,j,k,l$ 个时的期望次数。 显然 MLE。但可以发现 $i+j+k+l=n$,所以可以去掉一维。 设 $dp_{i,j,k}$ 表示当前有 $1,2,3$ 个寿司的盘子数
阅读全文
摘要:abc217g 思路 设 $f_{i,j}$ 表示前 $i$ 个数分到 $j$ 组的情况数。 两种转移: 新开一组。$f_{i,j}=f_{i-1,j-1}$。 加入之前的组。在 $i$ 之前与 $i$ 模 $m$ 余数相同的有 $\frac{i-1}{m}$ 个,剩下 $j-\frac{i-1}{
阅读全文
摘要:abc246g 思路 最少拿分,考虑二分答案。 B 最少拿 $mid$ 分,则 A 需要在 B 之前改变所有 $a_u\geq mid$ 的点。 显然 B 不会走回头路。 设 $f_u$ 表示:B 在 $u$ 点并向其儿子之一 $v$ 移动前,A 需要对 $u$ 的子树操作几次使 B 无法成功。如果
阅读全文