背包问题

BZOJ 1296 粉刷匠(分组背包套DP)

刚开始往网络流的方向想。建不出图。。。 因为每次只能对一行进行染色。每一行都是独立的。 对于每一行,因为格子只能染一次,所以可以发现这是一个多阶段决策问题,这个决策就是当前格子染0还是染1. 令dp[i][j][k](k==0||k==1)表示当前行第i个格子用了j次染色,且这次染色染为k色 的最多有效格子。 这样我们用了O(n*m*m)得出了每一行用了v...

经典背包问题 01背包+完全背包+多重背包

01 背包 有n 种不同的物品,每个物品有两个属性,size 体积,value 价值,现在给一个容量为 w 的背包,问最多可带走多少价值的物品。 1 for (int i=0; i<n; i++) 2 for (int j=w; j>=size[i]; j--) 3 f[j] = max(f[j], f[j-size...

常见的几种背包讲解

前几天听学长讲了背包,感觉有点难,于是慢慢琢磨,先是听学长分析,后来自己看崔添翼的背包问题九讲 2.0 beta 1.2 那个PDF,再结合网上的许多大牛写的背包讲解,还有就是题目的练习,终于有点体会了。 常见的几类背包问题 1、01背包 题目 有 N 件物品和一个容量为 V 的背包。放入第 i 件物品耗费的费用是 Ci1,得到的 价值是 Wi。求解将哪些...

AcWing 算法提高课题解目录

第一章 动态规划 数字三角形模型 \(AcWing\)\(1015\). 摘花生 \(AcWing\)\(1018\). 最低通行费 \(AcWing\)\(1027\). 方格取数 \(AcWing\)\(275\). 传纸条 最长上升子序列模型 \(AcWing\)\(1017\). 怪盗基德的滑翔翼 \(AcWing\)\(1014\). 登山 \(...