日记 2023.4.22:2023 syzx 春季训练 6

专题:分治,暴力

A

离线对于每个 \(x_i\) 分别处理,只用一个树状数组即可。

B

树套树或者 CDQ 分治

C

一个值对应的点是(在 a 中出现的下标,在 b 中出现的下标)

动态二维数点

D

相当于每个点的 \(i-last_i\),但是 \(last_i>0\)

\((last_i,i)\) 的动态二维数点

E

笛卡尔树

dsu on tree

F

枚举模板串某个字符,看一下哪些起点是非法的

因为字符集很小,所以去掉最后一维的枚举

或者先扩展一倍文本矩阵,将文本矩阵的每一行写一次,然后填上一段空格,然后继续写;模板串也是写一段空格,这样使得匹配时可以跳到下一行。然后 P4173

G

分治,然后求出每个点是否能到达中间一列(也就是最左和最右),然后合并。注意离线询问。

H

从大到小枚举边权,动态维护一下有没有三元环,bitset

或者在三角形中,大于 60 度的角不可能成为最小边,所以枚举顶点后极角排序

I

枚举顶点后极角排序,数出不可能成为答案的答案。

J

按斜率排序后枚举底边。维护关于某条直线距离单调的集合。当 \(l_1k<AB_k<l_2k\) 时,当 \(l_1\) 换到 \(l_2\),需要 swap(a,b)。就是说这样换:

K

因为 \(\binom n k\geq k+1\),当 \(k<n\) 时成立,就是说总是存在两种分法使得一个人数为 \(k\) 的班级能拿到(模 \(k\) 意义下)相同的糖果数,对它们做差为所求,01 背包 <= 疑似假

除了最大的班级,对于每个班级,剩下的像上面那样选。最后给最大的买一个福袋补全。

L

猜测可以全部用完

从大到小枚举分队人数,然后检查,减量构造。

posted @ 2023-04-22 09:27  caijianhong  阅读(5)  评论(0编辑  收藏  举报