为啥一定要*2不能*3或*4
  • 板块P1776 宝物筛选
  • 楼主xiexie
  • 当前回复7
  • 已保存回复7
  • 发布时间2020/10/6 19:21
  • 上次更新2023/11/5 11:47:17
查看原帖
为啥一定要*2不能*3或*4
291489
xiexie楼主2020/10/6 19:21
#include<iomanip>
#include<cstring>
#include<string.h>
#include<iomanip>
#include<queue>
#include<math.h>
#include<algorithm>
#include<stdio.h>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<bitset>
#include<set>
using namespace std;
int dp[100001];
int main() {
int v , w ,t;
int n , m;
cin >> n >> m;
for(int i = 1 ; i <= n; i++) {
cin >> w >> v >> t;
for(int j = 1; j <= t; j=j*2) {
for(int s = m ; s >= v * j; s--) {
dp[s] = max(dp[s] , dp[s - v * j] + w * j);
}
t = t - j;
}
if(t) {
for(int i = m ; i >= v * t ; i--)
dp[i] = max(dp[i],dp[i - v * t] + w * t);
}
}
cout << dp[m];





	return 0;
}
2020/10/6 19:21
加载中...