随笔分类 - 动态规划
摘要:###题目地址 ##题意: 在一个DAG图中,点 i 只有最多m条出边连向 i+1 ~ i+m(m<=10),边权均为1。对于 ,依次输出当点k被删除时1到n的最短路。 ##分析: 标准做法无非就是预处理1到i的最短路和i到n的最短路,又由于题目性质,对于k我们只需对[k
阅读全文
摘要:###题目地址 ##题意: 把正整数序列分隔为若干区间,若单个区间的元素之和为X,则其贡献为 。求所有区间的贡献之和的最大值。 ##分析: 斜率优化dp模板题。 这篇博客描述得很清晰(但是推出的式子不等号方向弄反了)。 整理不等式,得到斜率表达式。每到一个 i 时,可以立即获取当
阅读全文
摘要:一般的树形背包问题,往往与以下模板异曲同工。复杂度为 void dfs(int u) { sz[u] = 1; for(auto v:G[u]) { dfs(v); sz[u]+=sz[v]; for(int j=sz[u]; j>=1; --j) //滚动背包,枚举自己的所有状态
阅读全文