日记 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
猜测可以全部用完
从大到小枚举分队人数,然后检查,减量构造。
本文来自博客园,作者:caijianhong,转载请注明原文链接:https://www.cnblogs.com/caijianhong/p/17342467.html