随笔分类 -  Dp题

摘要:本题的瓶颈在于如何处理重复的问题。 可以发现,如果我们将黑球数量的变化看作一条折线,我们算重的原因就在于在这条折线往上或往下平移一格时我们还会计算到这条折线,所以我们可以,只保留经过 $x$ 轴的折线(就是黑球数量在某一次操作后 $=0$)的答案,那么就不会算重了。 记 $f_{i,j}$ 表示前 阅读全文
posted @ 2022-11-25 16:57 Southern_Way 阅读(78) 评论(0) 推荐(0)
摘要:把最终答案看成一段 $0$, 一段 $1$ 的一个串。 如果说我们的答案中有一段 $0$ ($1$ 同理)。 那么所有 $0$ 的数都满足所有第一个范围,这段 $0$ 前面的 $1$ 代表数满足所有的第二个范围。 然后呢,因为我一个数改变了之后只要满足后面的条件与前面无关,所以我们不妨从后往前倒着处 阅读全文
posted @ 2022-11-25 12:45 Southern_Way 阅读(39) 评论(0) 推荐(0)
摘要:首先真子集这一限制比较麻烦,我们可以尝试把这个限制给去除掉。 具体地,令 $G(i)$ 表示答案, $F(i)$ 为用 $i$ 步使得 $U={1}$且不要求真子集这一限制的方案数。 考虑 $F(i)$, 枚举哪几步满足真子集,可知 $F(i) = \Sigma_{j=1}^{i}\binom{i} 阅读全文
posted @ 2022-11-25 12:17 Southern_Way 阅读(51) 评论(0) 推荐(0)
摘要:这种随机游走题用 $DP$ 求的一般思路就是固定一个方向,然后考虑走到那个方向或从那个方向走过来的期望。 设 $f_i$ 表示 $i$ 走向自己的父亲的期望步数, $g_i$ 表示 $i$ 的父亲走向自己的期望步数。 列一下方程 (设 $deg_u$ 表示 $u$ 的度数) $$f_u = 1 + 阅读全文
posted @ 2022-11-23 16:03 Southern_Way 阅读(24) 评论(0) 推荐(0)
摘要:本题一眼状压 $DP$ 考虑设计一下状态。设 $dp_{S,t}$ 表示只考虑 $S$ 这一集合内的点,$1$ 到 $t$ 的路径上只有一条的最多能加上的边权。 设 $sum_S$ $=$ $\Sigma_{u,v \in S, u < v}w_{u,v}$ $$dp_{S \cup u,u} \l 阅读全文
posted @ 2022-11-14 13:17 Southern_Way 阅读(29) 评论(0) 推荐(0)
摘要:思路来源 我们发现一个人会先往左走,再往右走,我们可以发现在两人相遇的时候这两人转向相当于交换,所以我们不再需要考虑转向,只需要考虑一个人走过的路程。 然后可以在此基础上发现,一个人往左一个人往右,这两个路程的图像与坐标轴会形成一个三角形,并且如果这个三角形在中间,那么就必须要与另外一个三角形有交, 阅读全文
posted @ 2022-11-11 13:25 Southern_Way 阅读(40) 评论(0) 推荐(0)
摘要:不难发现本题的图在随机的情况下会很稠密,并且很容易出现奇环。仔细想想,会发现奇环出现的充要条件应该并不复杂。 考察最小的情况,也即长度为 $3$ 的奇环,出现这样的环意味着有 $i<j<k$ $p_i>p_j>p_k$。 仔细想一想,任何一个奇环都会包含这样三个位置 $i,j,k$ 那么问题就更加简 阅读全文
posted @ 2022-11-08 23:24 Southern_Way 阅读(33) 评论(0) 推荐(0)
摘要:有一个非常 naive 的想法,就是加操作使得末尾 $0$ 变 $1$, $1$ 变 $0$, $\times 2$ 操作就是结尾 $+$ 一个 $0$。 发现我们会遇到一个问题,就是进位,加操作会进位的!很烦。 发现 $k$ 并不大,再思考思考, 诶,我们可以发现一个性质,只有 $+k$ 以内的加 阅读全文
posted @ 2022-11-08 22:40 Southern_Way 阅读(34) 评论(0) 推荐(0)
摘要:首先有一个性质,每个点只有一条出边的图,每个联通块只能是基环树。那么有 $-1$ 的连通块就一定是树。 本题要求的是每种连边方案的联通块数量之和,把贡献拆开来算就可以转化为每个联通块在多少种方案之中出现。 记基环树的个数为 $x$, 树的个数为 $y$,第 $i$ 棵树的大小为 $sz_i$ 首先是 阅读全文
posted @ 2022-11-08 21:51 Southern_Way 阅读(42) 评论(0) 推荐(0)
摘要:发现 $A_i$ $B_i$ 的值很小,那么本题可能可以使用几何意义求解这个组合数。 对于一个组合数,其方案数的几何意义为 起点为$(0,0)$ 终点为 $(a_i+a_j,b_i+b_j)$ 的路径方案数。 将起点和终点同时平移得 起点为 $(-a_i,-b_i)$ 终点为 $(a_j,b_j)$ 阅读全文
posted @ 2022-11-07 20:02 Southern_Way 阅读(27) 评论(0) 推荐(0)
摘要:有一种显然的想法:我们要考虑对每段操作中保留下来的数。但是这并不好做。 正难则反:我们只需要关注删除掉的数。 那么我们就需要得知删除每个数时的限制,这等价于求每个删除操作之前保留了多少数。 具体地,记 $f_{i,j}$ 表示删除第 $i$ 个数,前 $i$ 个数共删除了 $j$ 个的方案数。那么我 阅读全文
posted @ 2022-11-07 12:03 Southern_Way 阅读(63) 评论(0) 推荐(0)