poj1742
来源:互联网 发布:电子相册软件app排行榜 编辑:程序博客网 时间:2024/05/22 18:39
dp[MAXN] 前i种加和成j i的剩余
ai (dp[i][j] >= 0)
dp[i+1][j] = {-1 (j < ai or dp[i+1][j-ai] <= 0) }
dp[i+1][j-ai] (其他)
数组再利用
Source CodeProblem: 1742User: fistyMemory: 756KTime: 1782MSLanguage: G++Result: Accepted Source Code #include <cstdio> #include <algorithm> #include <cstring> using namespace std; #define MAX_N 100100 #define MAX_C 1010 int n,m; int a[MAX_N],c[MAX_C]; int dp[MAX_N]; //前i种加和成j,i的剩余 void solve(){ memset(dp, -1, sizeof(dp)); dp[0] = c[0]; for(int i = 0;i < n; i++){ for(int j = 0;j <= m; j++){ if(dp[j] != -1) dp[j] = c[i]; if(dp[j] == -1){ if(j >= a[i] && dp[j-a[i]] != -1){ dp[j] = dp[j - a[i]] - 1; } } } } int sum = 0; for(int j = 1;j <= m; j++){ if(dp[j] != -1) sum++; } printf("%d\n", sum); } int main(){ while(scanf("%d%d", &n, &m) && n && m) { for(int i = 0;i < n; i++) scanf("%d", &a[i]); for(int i = 0;i < n; i++) scanf("%d", &c[i]); solve(); } return 0; }
0 0
- poj1742
- POJ1742
- poj1742
- poj1742
- poj1742
- poj1742 - Coins
- poj1742 Coins
- POJ1742--Coins
- POJ1742 coins
- poj1742 dp
- POJ1742---Coins
- poj1742翻译
- [POJ1742]Coins
- POJ1742-Coins
- poj1742-coins
- POJ1742 Coins(背包)
- POJ1742多重背包
- POJ1742 Coins DP
- 关于静态字段方法.const,static的使用
- 创业-互联网
- SGU 261. Discrete Roots (N次剩余)
- 14-显示Intent,隐式Intent
- 关于iCloud的使用
- poj1742
- Hibernate笔记(3)
- ORACLE 分组和时间函数
- 搭建Nginx+Java环境(详细)
- Spring笔记(1)-----Spring资源访问
- 判断单链是否循环,并且找出第一个循环节点
- main函数在c语言中演变
- JAVA 获取cmd输出内容到控制台
- ORACLE 著名函数之单值函数