随笔分类 - 动态规划-计数DP
摘要:题目 点这里看题目。 给定正整数 和非负整数 ,对于所有 ,求出所有长度为 且逆序对数为 的排列构建的小根笛卡尔树中第 个位置的深度之和(根的深度为 )。 所有数据满足 $1\le n\le 300,0\le k\le \
阅读全文
摘要:题目 点这里看题目。 分析 ~~从一开始就知道正确的思路,到最后都没有写成正确的算法~~。 给定一个字符串 ,考虑怎么验证它能不能由 和另外一个括号串合并起来。 一个自然的做法是,写一个 DP:设 表示 能否由 和另一个括号串前缀
阅读全文
摘要:题目 点这里看题目。 分析 显然这是一道 DP 题目。 显然,由于 都是关于列,只有 是关于行的,我们应该逐列做 DP。 状态有一点小技巧,我们可以设 表示前 列,其中有 行出现了第一个黑格子,且这 行的相对顺序已经确定的方案数。 No
阅读全文
摘要:题目 点这里看题目。 分析 很不错的 DP 题目。 简单分析一下问题的结构:对于一次操作,直观上我们可以选一条边,然后加入一个类三角形的结构。现在对于这个三角形,我们既可以基于初始的边继续加入三角形,也可以基于新的三角形的另外两边加入新的三角形。注意到,一个三角形的另外两条边对应的是独立的子问题。这
阅读全文
摘要:题目 门前有一道很深的沟,呈一排方格状。其余部分都平平整整的,唯独有连续的 格坑坑洼洼。这些坑洼的格子被从 1 开始编号,从沟底开始算,第 格的高度为一个正整数 。 天下大雨,于是坑洼的部分会产生积水,而平整的部分的水会被直接排掉。考虑某个竖直切面,如果某个空白
阅读全文
摘要:题目 点这里看题目。 分析 一个片段就是 的一个非空子集,所以片段共有 个; 问题相当于求片段集合的大小为 ,且每个音符最终出现偶数次的子集数量。 看一下问题的限制: 所有片段非空; 集合中不存在相同的两个片段; 集合中每个元素总
阅读全文
摘要:题目 点这里看题目。 分析 手玩容易发现 good graph 的第二条要求等价于 是二分图。 说明: 设 表示某种方案中 是否被操作。 那么有 条方程。对于 ,方程的形式为 \(x_u\oplus x_v=1
阅读全文
摘要:题目 点这里看题目。 分析 一个简单的初始想法是:计算所有最终不是强连通的方案,然后再用总方案减去。 那么非强连通的方案经过缩点后,必然会变成 DAG 的形状。我们可以枚举所有 DAG 的形态,计算方案数: 每个强连通块的方案数:子问题,递归即可; 外部 DAG 的数量; 考虑求解 DAG 的数量。
阅读全文
摘要:题目 点这里看题目。 分析 懂了懂了,数数题都是毒瘤。 考虑我们可以怎么去震柱子。显然我们可以从高往低去震,但是这样分析无法导出一个解法。 另一个方式就是从后往前去震;这样我们可以导出一个结论: 如果当前柱子之后有高度为 的柱子各一根,那么当前柱子及之前的柱子,如果高度 \(
阅读全文
摘要:题目 点这里看题目。 分析 本题的正确解法 看到 序列的构造方法,我们不难想到将它和树联系起来。 将 中的 -1 修改为 0 ,并且对于 ,连接边 ,我们就得到了一棵以 0 为根的树,且原序列就是这棵树的一种兄弟节点按照 不降排
阅读全文
摘要:题目 点这里看题目。 分析 初看似乎只能想到一个暴躁的 DP: :前 个数,最后一个数是 的序列方案数。 ...... 嗯,显然会 TLE。 不过,由于总共的区间数很少,所以由区间的端点组合的区间会很少。我们可以从这个方向入手压缩状态。 考虑将原先的闭区
阅读全文
摘要:题目 校内赛的改编题目,题意基本与[HDU6848]Expectation相同。 分析 首先,不难发现,本题就是求所有不同的操作序列的距离和,最后乘上 的概率就是答案。 于是考虑如何求这个距离和。这里有两种方法: 方法 1 本题的贡献显然是可以拆分的。我们只需
阅读全文