2019年1月4日

poj2342 没有上司的舞会 树形dp基础

摘要: #include #include #include #include using namespace std; int n,dp[6050][2],flag[6050],h[6050]; vector son[6050]; void dfs(int u){ dp[u][0]=0; dp[u][1]=h[u]; for(int i=0;i<son[u].size();i... 阅读全文

posted @ 2019-01-04 23:22 zsben 阅读(182) 评论(0) 推荐(0) 编辑

poj1179 环形+区间dp

摘要: 因为要用到模,所以左起点设置为0比较好 阅读全文

posted @ 2019-01-04 20:00 zsben 阅读(181) 评论(0) 推荐(0) 编辑

HRBUST - 1818 石子合并 区间dp入门

摘要: 有点理解了进阶指南上说的”阶段,状态和决策“ 阅读全文

posted @ 2019-01-04 16:33 zsben 阅读(206) 评论(0) 推荐(0) 编辑

poj1742 多维背包

摘要: 普通的多维背包做不了,需要优化一下 但是没有学优化。。别的方法也是可以做的 省去一个 表示阶段的 i 维度,dp[j]表示面值为j的钱是否被凑出来了,used[j]表示第i种硬币在凑面值为j的时候被用的次数 阅读全文

posted @ 2019-01-04 13:39 zsben 阅读(144) 评论(0) 推荐(0) 编辑

poj1015 01二维背包

摘要: /* 给定辩控双方给每个人的打分p[i],d[i], dp[j][k]表示前i个人有j个被选定,选定的人的辩控双方打分差之和是k,此状态下的最大辩控双方和 按01背包做,体积一维是1,体积二维是辩控双方打分差,价值是辩控双方打分和 要求体积一维不得超过m,体积二维在体积一维=m的情况下最小 状态转移方程:dp[j][k]=max(dp[j][k],dp[j-1][k-(a[i]-b[i])]+... 阅读全文

posted @ 2019-01-04 12:54 zsben 阅读(158) 评论(0) 推荐(0) 编辑

导航