CF1209E2 Rotate Columns (hard version) 题解

CF1209E2

给定 n×m 的矩阵,可以对每一列进行若干次循环移位,求操作完成后每一
行的最大值之和的最大值。

1n12,1m2000

  • 这里 m 很大,但有一个很重要的性质

  • m 列中只有最大的前 n 个会对答案产生贡献

  • 因此我们直接就把 m 削到了 12 的范围

  • 这么小,当然可以状压啦

  • dpi,S 表示考虑了前 i 列数,集合 S 中的行的最大值已经确定,集合 S 中的最大值之和

  • 可以得到转移:

  • dpi,Sdpi1,T+jS,jTa(j+Δ)modn,i

  • 总复杂度为 O(n3n)

  • 这题的关键就在于,也许这么算的最大值会比真实答案要小,但正是因为原题要求最大值,我们可以直接忽略他的错误选择方式,因为最终获得的答案一定是合法解

posted @   FOX_konata  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
历史上的今天:
2023-08-09 P5319 [BJOI2019] 奥术神杖
2023-08-09 P8019 [ONTAK2015] OR-XOR
点击右上角即可分享
微信分享提示