社区讨论

P2871 [USACO07DEC]手链Charm Bracelet数据太水

题目总版参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mi6tvpau
此快照首次捕获于
2025/11/20 10:44
4 个月前
此快照最后确认于
2025/11/20 10:44
4 个月前
查看原帖
P2871 [USACO07DEC]手链Charm Bracelet
CPP
看起来二维空间会MLE
实际上只需要设成short类型就可以AC
CPP
#include<bits/stdc++.h>
using namespace std;
struct node
{
	int ci,wi;
};
node a[3500];
short f[3500][12900];
int main()
{
	int n,m;
	memset(a,0,sizeof(a));
	cin >> n >> m;
	for (int i=1;i<=n;i++)
	  {
	  	cin >> a[i].ci >> a[i].wi;
	  }
	 for (int i=1;i<=n;i++)
        for (int j=1;j<=m;j++)
            {
                if (a[i].ci<=j)
                  {
                  	f[i][j] = max(int(f[i-1][j]),int(f[i-1][j-a[i].ci]+a[i].wi));
				  }
                else 
				  {
				  	f[i][j] = f[i-1][j];
				  }
            }
    cout << f[n][m] << endl;
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...