社区讨论
这样转移状态有什么问题
P1833樱花参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @m2n0y6p2
- 此快照首次捕获于
- 2024/10/24 16:11 去年
- 此快照最后确认于
- 2025/11/04 16:20 4 个月前
RT,WA了
CPP#include<bits/stdc++.h>
using namespace std;
#define int long long
string s1,s2;
int sh,sm,eh,em;
int m,n;
int t[10009],c[10009],p[10009];
int dp[2][1009];
signed main()
{
cin>>s1>>s2;
sscanf(s1.c_str(),"%d:%d",&sh,&sm);
sscanf(s2.c_str(),"%d:%d",&eh,&em);
m=(eh-sh)*60+em-sm;
cin>>n;
for(int i=1;i<=n;i++){
cin>>t[i]>>c[i]>>p[i];
}
for(int i=1;i<=n;i++){
if(p[i]==0){
for(int j=0;j<=m;j++){
if(j>=t[i])
dp[i%2][j]=max(dp[i%2][j],dp[i%2][j-t[i]]+c[i]);
}
}
else{
for(int k=0;k<=p[i];k++){
for(int j=0;j<=m;j++){
if(j>=k*t[i])
dp[i%2][j]=max(dp[i%2][j],dp[(i-1)%2][j-k*t[i]]+k*c[i]);
}
}
}
}
cout<<dp[n%2][m]<<endl;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...