
日记
大输特输。
Median SplitsLink to
如果有 ,就把 置为 ,反之置为 。这样,如果一段区间 的中位数 的充要条件就是 。如何使三段区间的中位数的中位数 呢?显然是有两个区间的中位数 就行。直接大力分讨哪两个区间的中位数 。
- 左边的和中间的区间
维护一个前缀和 。如果 ,就看看有没有小于等于 的非负数出现在 里比 靠前的地方 。如果有,那么 就是一组解。直接上权值线段树维护。 - 右边的和中间的区间
reverse
一下 ,然后同上。 - 左边的和右边的区间
在上面的两次计算中,记录一个 分别表示两次计算中 最早非负的位置。如果 ,就说明两个区间中间还能再夹一个区间,就是可行的。
Local ConstructionLink to
大力分讨 + 差分约束。
好像神明知道我的码力不行,天天给我发大力分讨题。
Soldier GameLink to
考虑枚举最小值。设 表示在区间 中, 是否和 配对, 是否和 配对的最小的最大值。用线段树维护。转移就是 ,表示在诸多 里取最小值。用线段树维护。将每种配对方式的战力从小到大排序。每次记录完答案就把值小于当前值的地方置为 。
小 A 的卡牌游戏Link to
考虑只有两种牌怎么做。把牌按照 排序,然后按照排完序的顺序,先取 个再取 个。想想多加一个怎么做。
我们设 表示在前 个 3pick 里取了 个 C。转移是显然的。如果我们不选 c,就按照上面的贪心策略转移:如果 ,就取 B,反之取 A。
后日谈 Link to 后日谈
今天中午午觉没睡好。下午听 AC 自动机烧烤过度,还去打了个球。晚上回机房直接获得 debuff:疲惫;效果:智力 ,理解能力 ,记忆力 。然后晚上硬生生的把 KMP 和 AC 自动机搞懂了。
AC 自动机学习笔记 is coming soon.
日记
© 伊埃斯 | CC BY-NC-SA 4.0