专栏文章

P13272

P13272题解参与者 3已保存评论 2

文章操作

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

当前评论
2 条
当前快照
1 份
快照标识符
@mioubth1
此快照首次捕获于
2025/12/03 01:17
3 个月前
此快照最后确认于
2025/12/03 01:17
3 个月前
查看原文
考虑答案形式,一次操作 (i,i+1)(i,i+1)aiai+1a_i\ge a_{i+1} 则在 i+1i+1 上放一个 \leftarrow,若 ai+1aia_{i+1}\ge a_i 则在 ii 上放一个 \rightarrow。则操作情况形如若干个 \rightarrow\rightarrow\rightarrow\leftarrow\leftarrow
考虑记 vi,ji()v^{(\rightarrow)}_{i,j\ge i} 表示若从 ii 开始一直往右操作直至 jj,最终 aja_j 的值,若过程中出现 ak>ak+1(ik<j)a_k>a_{k+1}(i\le k<j)vi,j()v^{(\rightarrow)}_{i,j} 不合法。同理定义 vi,ji()v^{(\leftarrow)}_{i,j\le i}。对于一个极长的 \rightarrow\leftarrow 区间 [l,r][l,r] 考虑枚举最终非 00 位置 kk:(需有 vl,k(),vr,k()v^{(\rightarrow)}_{l,k},v^{(\leftarrow)}_{r,k} 合法)
  1. vl,k()+vr,k()<akv^{(\rightarrow)}_{l,k}+v^{(\leftarrow)}_{r,k}<a_k 则最终 kk 不能为 [l,r][l,r] 最终非零位。
  2. vl,k()+vr,k()=akv^{(\rightarrow)}_{l,k}+v^{(\leftarrow)}_{r,k}=a_k 则最终 [l,r][l,r] 全零。
  3. vl,k()+vr,k()>akv^{(\rightarrow)}_{l,k}+v^{(\leftarrow)}_{r,k}>a_k 则最终 kk 可为 [l,r][l,r] 最终非零位。
vl,k()/vr,k()v^{(\rightarrow)}_{l,k}/v^{(\leftarrow)}_{r,k} 挪至不等号右边即退化为最终 kkk±1k\pm 1 的比较,从而正确性显然。
如此记 frf_r 为仅考虑 [1,r][1,r] 区间下 maxF\max F 的值,则枚举 l,kl,k 即可做到 O(n3)\mathcal{O}(n^3) 转移。
考虑计数问题,什么情况会计重?序列 11111111,操作 [1,2],[3,4][1,2],[3,4] 和操作 [1,4][1,4] 会被认为不同方案,而实际上最终得到的 aa 序列是一致的。处理很简单,我们将 vi,j()/vi,j()v^{(\rightarrow)}_{i,j}/v^{(\leftarrow)}_{i,j} 合法的条件改的更为严格:
  • 若途中出现 ak=ak±1a_k=a_{k\pm 1} 即不合法。
这样子使得我们枚举的每个 \rightarrow\leftarrow 区间都是在所有最终 aa 序列相同的方案中取到了分段更多的那个,从而构成了双射,同理定义 grg_r 可以一模一样地直接计数(区间全零的情况只能转移一次)。
这样子即提出了 O(n3)\mathcal{O}(n^3) 的做法。考虑优化:我们求出 ()i(\rightarrow)_i 为最大的 jj 使得 vi,j()v^{(\rightarrow)}_{i,j} 有意义,同理有 ()i(\leftarrow)_i,显然 kk 可以进行转移的必要条件是 k[l,r][()r,()l]k\in[l,r]\cap[(\leftarrow)_r,(\rightarrow)_l],然后只需要判断 vl,r(k)=vl,k()+vr,k()akv_{l,r}(k)=v^{(\rightarrow)}_{l,k}+v^{(\leftarrow)}_{r,k}-a_k00 的大小关系。
发现每一个 i[l,r]i\in[l,r]aia_ivl,r(k)v_{l,r}(k) 的贡献为 (1)kiai(-1)^{k-i}a_i,从而有 vl,r(k)v_{l,r}(k)kk 为奇数/偶数时全相同,故在区间 [l,r][()r,()l][l,r]\cap[(\leftarrow)_r,(\rightarrow)_l] 区间中有全体奇数/偶数均可转移。对于 [l,r][l,r] 是否可以全零也仅需判断区间中任意一个 kk 是否满足条件即可。
故仅需快速计算 maxlir,ip(mod2)(bi)\max\limits_{l\le i\le r,i\equiv p\pmod{2}}(-b_i)lir,,ip(mod2)1ci\sum\limits_{l\le i\le r,,i\equiv p\pmod{2}}\frac{1}{c_i},预处理即可。
复杂度为 O(n2)\mathcal{O}(n^2)

评论

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

正在加载评论...