专栏文章

p14267

P14267题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minjrasi
此快照首次捕获于
2025/12/02 03:33
3 个月前
此快照最后确认于
2025/12/02 03:33
3 个月前
查看原文
题解里我把原题中的横纵坐标调换了,例如 (y1,x3)(y_1,x_3) 表示第 y1y_1 行第 x3x_3 列,aa 表示原数组.

DP.
考虑把图分成三部分,第一部分最右边为 x3x_3,第二部分最右边 x4x_4,第三部分 x2x_2.
fi,j,0/1/2f_{i,j,0/1/2} 表示 (y1,x3)/(y1,x4)/(y1,x2)(y_1,x_3)/(y_1,x_4)/(y_1,x_2)(i,j)(i,j) 的最大值.
则有:
  • fi,j,0=maxk=1jkljai,l+maxk=1ikl<ial,jf_{i,j,0}=\max\limits_{k=1}^j \sum\limits_{k\le l\le j} a_{i,l}+\color{blue}\max\limits_{k=1}^i\sum\limits_{k\le l<i}a_{l,j}.
  • fi,j,1=maxk=1j1{dpi,k,0+k<ljai,l}+maxk=1ikl<ial,j+maxk=inl<ikal,jf_{i,j,1}=\max\limits_{k=1}^{j-1}\left\{dp_{i,k,0}+\sum\limits_{k<l\le j}a_{i,l}\right\}+\color{blue}\max\limits_{k=1}^i\sum\limits_{k\le l<i}a_{l,j}+\max\limits_{k=i}^n\sum\limits_{l<i\le k}a_{l,j}.
  • fi,j,2=maxk=1j{dpi,k,1+k<ljai,l}f_{i,j,2}=\max\limits_{k=1}^{j}\left\{dp_{i,k,1}+\sum\limits_{k<l\le j}a_{i,l}\right\}.
n,mn,m 同阶,直接用前缀和维护可以 O(n3)O(n^3).
可以发现蓝色这一部分是独立的,只和 jj 有关,并且是一个最大子段和类似的东西,先单独算.
然后前面这一部分就维护前缀 max 即可,每次加 ai,ja_{i,j} 之后和 ai,j/fi,j,0/fi,j,1a_{i,j}/f_{i,j,0}/f_{i,j,1} 取 max.
复杂度 O(nm)O(nm).
感觉和 NOIP2022 T1 种花差不多.

评论

0 条评论,欢迎与作者交流。

正在加载评论...