上一页 1 ··· 89 90 91 92 93 94 95 96 97 ··· 109 下一页

2019年1月5日

poj3585 树形dp 二次扫描,换根法模板题

摘要: #include #include #include #include using namespace std; #define maxn 200005 struct Edge{ int to,next,c; }edge[maxn<<1]; int dp[maxn],f[maxn],vis[maxn],degree[maxn],head[maxn],tot; void addedge(... 阅读全文

posted @ 2019-01-05 13:48 zsben 阅读(314) 评论(0) 推荐(0) 编辑

tyvj1051 选课

摘要: /* 分组背包+树形dp:以树的深度作为阶段,以节点编号作为一维状态, 思路:首先dp[u][t]表示选择以第u门课为根,选了t门课的最大值, 状态转移方程dp[u][t]=max(所有儿子中凑出t-1门课)+s[u], 那么如何在所有儿子中凑出t-1门课,需要用到分组背包,每个儿子为一组,设v是u的一个儿子,那么第v组背包中有t-1件物品,第j件物品体积为j,价值就是dp[v... 阅读全文

posted @ 2019-01-05 11:18 zsben 阅读(168) 评论(0) 推荐(0) 编辑

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) 编辑

2019年1月3日

openj 4004 01背包问题求方案数

摘要: #include #include #include using namespace std; #define ll long long int t,n,a[25],dp[1050]; int main(){ scanf("%d%d",&n,&t); for(int i=1;i=a[i];j--) dp[j]+=dp[j-a[i]]; pri... 阅读全文

posted @ 2019-01-03 22:11 zsben 阅读(195) 评论(0) 推荐(0) 编辑

Gym100340 线性dp

摘要: //看题解写的 https://blog.csdn.net/sdfzyhx/article/details/51804748#include using namespace std; #define ll long long struct node{ int id,g; bool operatora.g; } }g[35]; int n,m,b[35][5050],... 阅读全文

posted @ 2019-01-03 20:57 zsben 阅读(127) 评论(0) 推荐(0) 编辑

双线程 线性dp 传纸条

摘要: /* 两种做法:一是暴力dp[i][j][k][l] 二是以走的步数k作为阶段, dp[k][i][j]表示走到第k步,第一个人横坐标走到i,第二个人横坐标走到j 可以以此推出第第一个人的坐标为[i,k-i+1],第二个人坐标[j,k-j+1] 状态转移方程 dp[k][i][j]=max(dp[k-1][i][j],dp[k-1][i-1][j],dp[k-1][i][j-1],dp[k... 阅读全文

posted @ 2019-01-03 18:18 zsben 阅读(146) 评论(0) 推荐(0) 编辑

上一页 1 ··· 89 90 91 92 93 94 95 96 97 ··· 109 下一页

导航