社区讨论
90pts求调
P1616疯狂的采药参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @misegzff
- 此快照首次捕获于
- 2025/12/05 13:04 3 个月前
- 此快照最后确认于
- 2025/12/07 00:02 2 个月前
为什么一维数组可以过,vector过不了(MLE)?
CPP#include<iostream>
#include<vector>
int t, m, tm[10100], val[10100];
std::vector<std::vector<long long> > dp;
signed main()
{
std::cin >> t >> m;
for (int i = 1; i <= m; i++)
{
std::cin >> tm[i] >> val[i];
}
dp.resize(m + 1);
for (int i = 0; i <= m; i++)
{
dp[i].resize(t + 1);
}
for (int i = 1; i <= m; i++)
{
for (int j = 1; j <= t; j++)
{
if (tm[i] > j)
{
dp[i][j] = dp[i - 1][j];
continue;
}
dp[i][j] = std::max(dp[i - 1][j], dp[i][j - tm[i]] + val[i]);
}
}
std::cout << dp[m][t];
return 0;
}
代码如上
回复
共 1 条回复,欢迎继续交流。
正在加载回复...