poj 1837 dp
2015-08-04 11:49
295 查看
第一道正式的dp题目 思路很简单 在dp数组中保存可以的所有方案 用dp[i][j] 的j
为标识 进行记录当前的 状态 是否平衡
dp公式很关键 : dp[i][j + w[i] * c[k]] += dp[i - 1][j]。
为标识 进行记录当前的 状态 是否平衡
dp公式很关键 : dp[i][j + w[i] * c[k]] += dp[i - 1][j]。
#include<stdio.h> #include<string.h> int dp[25][15010];//记录平衡时的状态 dp[i][j]所用砝码数量为i时,状态为j的平衡状态下的方案数目 int c[35];//钩子的位置 int w[25];//砝码的重量 int main() { int cc, ww; while(scanf("%d%d",&cc,&ww) != EOF) { for(int i = 1; i <= cc; i++) scanf("%d",&c[i]); for(int j = 1; j <= ww; j++) scanf("%d",&w[j]); memset(dp, 0, sizeof(dp)); dp[0][7500] = 1; //最开始有一种方案 for(int i = 1; i <= ww; i++) { for(int j = 0; j <= 15000; j++) { for(int k = 1; k <= cc; k++) if(dp[i - 1][j] != 0) { dp[i][j + w[i] * c[k]] += dp[i - 1][j]; } } } printf("%d\n",dp[ww][7500]); } return 0; }
相关文章推荐
- Exploded location overlaps an existing deployment解决办法
- c# 遍历控件
- 使用mybatis, 如何获取刚插入数据的id
- Android MediaPlayer与Http Proxy结合之基础篇
- OpenCV Cut Image via ROI 根据兴趣区域剪裁图片
- 江湖恩仇录之PHP程序CPU高占用优化经历分享
- java操作properties文件
- MYSQL问题解决方案:Access denied for user 'root'@'localhost' (using password:YES)
- win7下debug native 环境搭建
- Android通过Xutils注解实例化以及事件绑定
- linux kafka 搭建运行环境
- wireshark抓包图解 TCP三次握手/四次挥手详解
- Squares
- HDU 5078--Osu!【水题】
- C++内联函数
- Squares 分类: POJ 2015-08-04 11:46 3人阅读 评论(0) 收藏
- 2.0-iptables详解
- centos6.6_x64升级firefox
- Squid Epoll网络模型
- Qt 常用类(3)—— QString