联考题解
日期:2025-10-07浏览:0
编辑
T1
设 $f_{i,j}$ 为 $A$ 序列最后一个为 $i$,$B$ 序列最后一个为 $j$,所得到的 $|A|+|B|$ 最大值。
直接转移即可。
T2
注意到翻转 $l,r$ 时只有 $l,r$ 这个区间内的改变会有贡献。
此时假设 $g_i$ 为 $\sum_{j=1}^i \max_{k=j}^i A_k$。那么有对于一个 $i$,找到 $i$ 以前最后一个$A_j>A_i$ 的位置 $j$,那么 $g_i=g_j+(i-j) \times A_i$。
找到在 $l$ 以前最后一个大于 $\max_{i=l}^r A_i$ 的 $j$,所以 $l \sim r$ 的答案就是 $g_r-g_j-(l-j)\times \max_{i=l}^r A_i$。
同时要特殊处理一下 $l \sim r$ 后面部分,因为 $A_1 \sim A_{l-1}$ 的最大值会影响到 $l \sim r$ 的答案。
T3T4
太史了,先鸽着