竞赛笔记竞赛C++2024-04-10竞赛笔记
Minecraft-Sep2024/4/10
知识
abababbaba
题目
T1 ACW1024 宠物小精灵之收服
这道题很离谱……ACW上的这个代码在YBT过了……
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #include<bits/stdc++.h> using namespace std; int n,m,k,cost; int v[1000001],u[1000001]; int dp[10001][10001]; int main(){ cin>>n>>m>>k; for(int i=1;i<=k;i++) cin>>v[i]>>u[i]; for(int i=1;i<=k;i++){ for(int j=n;j>=v[i];j--){ for(int k=m-1;k>=u[i];k--){ dp[j][k]=max(dp[j][k],dp[j-v[i]][k-u[i]]+1); } } } cout<<dp[n][m-1]<<' '; cost=m; for(int i=0;i<=m-1;i++){ if(dp[n][i]==dp[n][m-1]){ cost=min(cost,i); } } cout<<m-cost<<endl; return 0; }
|
T2 P1802 5 倍经验日
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| #include<bits/stdc++.h> using namespace std; long long dp[110000],w[110000],l[110000],u[110000]; int n,m; int main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>l[i]>>w[i]>>u[i]; for(int i=1;i<=n;i++) { for(int j=m;j>=u[i];j--) dp[j]=max(dp[j]+l[i],dp[j-u[i]]+w[i]); for(int j=u[i]-1;j>=0;j--) dp[j]+=l[i]; } cout<<5*dp[m]<<endl; }
|