动态规划
文章平均质量分 72
诺诺罗亚
固执!!!!!!!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 1203 I NEED A OFFER!
#include #include double min(double a,double b) { if(a>b) return b; else return a; } int main() { int i,j,n,m,c; double v; double dp[10010]; while(scanf("%d%d",&n,&m)!=EOF&&(n||m)) { for(i=原创 2014-11-16 10:15:54 · 375 阅读 · 0 评论 -
HDU 3033 I love sneakers!
分组背包问题 注意两个if的顺序原创 2014-11-16 10:29:42 · 377 阅读 · 0 评论 -
HDU 1025 Constructing Roads In JGShining's Kingdom
太强了 !!!!!!!!膜拜啊!! 摘: 链接:http://acm.hdu.edu.cn/forum/read.php?tid=15580&fpage=0&page=1 假设存在一个序列d[1..9] = 2 1 5 3 6 4 8 9 7,可以看出来它的LIS长度为5。 下面一步一步试着找出它。 我们定义一个序列B,然后令 i = 1 to 9 逐个考察这个序列。 此外,我原创 2015-01-26 15:58:39 · 585 阅读 · 0 评论 -
HUD 3466
题意就不解释了,要拥有足够的钱才能买对应价值的物品;这里应该按ss-cc排序 而不是按ss排序! 因为for(j=m;j>=q[i].ss;j--) { dp[j]=max1(dp[j],dp[j-q[i].cc]+q[i].vv); } 当j最小时可以写成 dp[j]=max1(dp[j],dp[q[i].ss-q[i].cc]+q[i].vv); !!!!!!!原创 2015-01-12 15:44:50 · 537 阅读 · 0 评论 -
zoj 3471状态压缩DP
#include #include int max(int a,int b) { if(a>b) return a; return b; } int dp[100000],map[15][15],mark[15]; int main() { int i,j,n,m,k; while(scanf("%d",&n)!=EOF&&n) { for(i=1;i<=n;i++) for原创 2015-01-23 21:36:19 · 581 阅读 · 0 评论 -
POJ 1185 炮兵阵地 经典状态压缩DP
先说下我个人的理解啊! 因为炮的攻击范围是上下左右两个格子 所以dp数组里面要保证存有第i行的状态和第i-1行的状态,一个三维数组搞定,同样判断的时候也要判断两行!其他的跟poj3254没什么区别! Description 司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示)原创 2015-01-21 14:51:46 · 519 阅读 · 2 评论
分享