国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

cdoj 31 飯卡(card) 01背包

2019-11-08 01:45:04
字體:
來源:轉載
供稿:網友

點擊打開鏈接

思路:01背包,跑容量為m-5,物品為n-1件的01背包。貪心:用剩下的5元買最貴的

轉移:dp[i][j] = max(dp[i-1][j],dp[i-1][j-c[i]]+c[i],滾動優化一下就好了

代碼:

#include <bits/stdc++.h>using namespace std;const int maxn = 1e3+10;int c[maxn],dp[50005];int main(){	int n,m;	while(cin>>n,n){		for(int i=1; i<=n; i++)			cin >> c[i];		cin >> m;		if(m<5){               cout<<m<<endl;            continue;        }		sort(c+1,c+1+n);		memset(dp,0,sizeof(dp));		for(int i=1; i<n; i++){			for(int j=m-5; j>=c[i]; j--){				dp[j] = max(dp[j],dp[j-c[i]]+c[i]);			}		}		int ans = m-(dp[m-5]+c[n]);		cout << ans << endl;	}}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象州县| 无极县| 抚州市| 麻阳| 甘泉县| 高平市| 古交市| 从化市| 兴化市| 广丰县| 扎兰屯市| 库车县| 商都县| 石屏县| 墨竹工卡县| 周至县| 沂源县| 大田县| 仙居县| 吉水县| 赤壁市| 濮阳县| 三门峡市| 大悟县| 齐齐哈尔市| 克东县| 宜兰市| 万载县| 黑山县| 津南区| 于都县| 望都县| 金华市| 颍上县| 肃北| 吉安市| 长顺县| 金寨县| 青田县| 东阿县| 乌兰县|