社区讨论
求调
P11233[CSP-S 2024] 染色参与者 4已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @m2q96bye
- 此快照首次捕获于
- 2024/10/26 22:25 去年
- 此快照最后确认于
- 2025/11/04 15:59 4 个月前
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn = 1e6 + 10;
int dp[maxn],a[maxn],b[maxn];
int n;
int maxx[maxn];
signed main()
{
int T;cin >> T;
while(T--)
{
memset(dp,-63,sizeof(dp));dp[0] = 0;
memset(maxx,-63,sizeof(maxx));
cin >> n;
for(int i = 1;i <= n;i++)cin >> a[i],b[i] = b[i - 1] + a[i] * (a[i] == a[i - 1]);
for(int i = 1;i <= n;i++)
{
dp[i] = max(maxx[a[i]] + a[i] + b[i - 1],dp[i - 1]);
maxx[a[i - 1]] = max(dp[i] - b[i - 1],maxx[a[i - 1]]);
}
cout << dp[n] << '\n';
}
return 0;
}
就是定义 为前 个数的答案
回复
共 4 条回复,欢迎继续交流。
正在加载回复...