随笔分类 - 动态规划 —— 动态规划
摘要:显然直接 $01$ 背包会超时并且超空间 套路:分层 $DP$ 「考虑将每个子结构看作一层(也就是包含了不止 $1$ 个物品的信息),并且大层不会对小层造成影响,可以考虑先进行每一层的自我更新(即用当前层物品更新当前层答案),再进行层的合并,此时考虑低层对高层的影响」 正题 那么这题有一个特殊性质:
阅读全文
摘要:· 题意 对于一个DAG,在图中任意添加一条边,求可形成的树形图个数。 · 题解 首先对于一个DAG,它们可形成的树形图的个数显然是各点入度相乘。 那么现在加入了一条边,可能会构成环,于是可以用总方案数减去不合法方案数(即构成环的方案数)。 本题解题的关键在于如何构造不合法方案,那么y -> x的所
阅读全文
摘要:题意: 给定两个序列$a$和$b$,让它们进行匹配,求出使得$a_i > b_j$的个数比$a_i < b_j$的个数恰好多$k$,求这样的匹配方法数 题解: 这题的各种表示有一点相似又截然不同,很容易混淆。 直接求恰好满足$k$对不好求,所以先放宽条件,这样子有利于构造动规方程。 先用$f_{i,
阅读全文
摘要:· 假设此时已求出标准完全背包,用$f[j]$表示。 · 本题关键在于,由于有个数限制,那么可以强制令当前状态不满足限制,即若最多取$Have[i]$个,强制令其先取$Have[i] + 1$个,那么减去$f[S - (Have[i] + 1)]$即可,当然需用容斥原理来进行加减。 · 代码: 1
阅读全文

浙公网安备 33010602011771号