2024做题计划
难度范围:[绿-紫]
CSP-S2024 T3染色
首先动态规划显然,如何呢?不难设
当然还有 TLE
。然后你发现如果有个
代码:
#include<bits/stdc++.h>
using namespace std;
#define up(i,l,r) for(int i=l;i<=r;++i)
#define dn(i,l,r) for(int i=l;i>=r;--i)
#define int long long
const int N=2e5+5;
const int M=1e6+5;
int lst[M],a[N],n,f[N],pr[N],s[N];
inline void solve(){
cin>>n;
up(i,1,M-1) lst[i]=0;
up(i,1,n){
cin>>a[i];f[i]=0;s[i]=s[i-1]+(a[i]==a[i-1])*a[i];
pr[i]=0;
}
// up(i,1,n) cout<<s[i]<<' ';
// cout<<endl;
up(i,1,n){
f[i]=f[i-1];pr[i]=lst[a[i]];
if(lst[a[i]]){
if(lst[a[i]]==i-1){
f[i]=max(f[i],f[lst[a[i]]]+a[i]);
}else{
f[i]=max(f[i],f[lst[a[i]]+1]+a[i]+s[i]-s[lst[a[i]]+1]);
}
}
// cout<<f[i]<<' ';
lst[a[i]]=i;
}
cout<<f[n]<<'\n';
}
int32_t main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int t;
cin>>t;
while(t--) ::solve();
return 0;
}
//tomxi
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验