我是个人,现在准备要考CSP复赛了。
转眼间,又过了一年。
今年是我考CSP的第二年,去年入门只拿了十分,太悲惨了。有 的可以去看一看主播去年写的CSP复赛感受。
今年,我重整旗鼓,报了入门和提高。I hope I can 拿奖。
刚刚做模拟赛的第四题完全背包,代码如下,仅供参考:
#include<bits/stdc++.h>
using namespace std;
int n,wei,w[1005],v[1005],dp[1005][1005];
int f(int n,int we){
if(n==1){
if(we>=w[1]) return v[1]*(we/w[1]);
else return 0;
}
if(dp[n][we]>0) return dp[n][we];
if(we<w[n]) dp[n][we]=f(n-1,we);
else{
dp[n][we]=f(n-1,we);
for(int i=1;i*w[n]<=we;i++)
dp[n][we]=max(dp[n][we],f(n-1,we-i*w[n])+v[n]*i);
}
return dp[n][we];
}
int main(){
//freopen("bag.in","r",stdin);
//freopen("bag.out","w",stdout);
cin>>n>>wei;
for(int i=1;i<=n;i++) cin>>w[i]>>v[i];
memset(dp,0,sizeof(dp));
cout<<f(n,wei);
return 0;
}
是不是觉得我在发癫?是的,最近我都没怎么有空。今天在学校抄了好多作业,才有空的。不废话了,祝你们CSP复赛考的比去年好。
1163

被折叠的 条评论
为什么被折叠?



