P11233 [CSP-S 2024] 染色 题解

我们设 dpx,y 表示上一个红色是 x,上一个蓝色是 y 时最大的价值。

容易发现转移为 dpai,x=maxj=1kdpk,x+[k=ai]ai,dpx,ai=maxj=1kdpx,k+[k=ai]ai。其中 k 是值域。

容易发现,转移完后的 dp 数组中有值的位置是一个十字架(如下图)。

我们考虑直接维护十字架上的值并对其进行转移。

考虑若 ai=ai1,相当于全局加上 ai,打一个标记即可。

aiai1,记 las=ai,fi,x=dpai,x,gi,x=dpx,ai

容易发现转移:

fi,x=fi1,xfi,las=max(gi1,ai+ai,maxg)gi,x=gi1,xgi,las=max(fi1,ai+ai,maxf)fi,ai=gi,ai=max(fi,ai,gi,ai)

直接维护即可,复杂度 O(T(n+V))

posted @   Grisses  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
Document
点击右上角即可分享
微信分享提示