11.22

A.物量计算

根号分治,对于 \(\le\sqrt n\) 的记忆化,\(>\sqrt n\) 的暴力跳。

B.尾杀开始 CF981E

线段树分治+bitset

C.突发任务

P9990 [Ynoi Easy Round 2023] TEST_90
P10822 [EC Final 2020] Prof. Pang's sequence
碰到不会维护的 tag 在那里死磕下传顺序而不考虑矩阵是不是废了。

D.夹心饼干

首先 \(i\) 如果要造成贡献两侧的 \(b_{i-1}\)\(b_{i+1}\) 都和 \(b_i\) 不同
所以一个连续段我们最多只能使一个数造成 \(a_i\) 贡献,同时两端的连续端无法造成贡献。
我们贪心的取一个连续段中最大的 \(a_i\) 作为这个连续段的贡献。
缩完段后序列变为 \(01\) 交错的序列,每回就是选择相邻的两个数,获得其中一个数的贡献并删去这两个数,类似括号匹配。
而贪心的让前一半大的和后一边大的匹配就好。
记连续段数为 \(cnt\) ,最后就是对 \(2\sim cnt-1\) 取前 \(\lfloor \frac{cnt-1}{2}\rfloor\) 大的即可。

posted @ 2024-11-22 15:52  ZepX_D  阅读(22)  评论(0)    收藏  举报