2021-team06-C220430
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
[/wiki/2021-team6 返回]
== Ranklist ==
== submission ==
== 概述 ==
solved: 6/10 dirt:
rank: 84
== ==
== 总结 ==
== 题解 ==
A: 双哈希对所有可能出现的串判重即可
B: 考虑不加限制的情况下2一定能放但202不一定能放,二分答案mid,构造出MID个20后所有的2和0都优先构成202和2020。瞎J8贪心居然能贪的比答案大也是醉了。
C: 二分答案mid, two pointers把所有x距离≤mid的点纳入考察范围,每插入一个点就寻找它当前在考察同色点集中的前驱和后继,修改线段树上(max(it--w+1, y),min(it2-1, y+w))区间,然后check全局最大值是否为k即可。
D:向下行进行
E: 看懂之后
F:每对路径转化为dfs树根到两点的距离加上若干个环,于是可以跑一遍tarjan把环&自环放入线性基。
训练时发现性质:设mx(a)为a到一个线性基异或出来的最大值, mx(a)^mx(b)^mx(0) = mx(a^b).
G:可以直接考虑正方形中是否包含顶点,于是变成一个整体二分+每次都要离散化一遍的二维数点,复杂度O((n+m)log1e8log(n)),也可以使用set和线段树,set维护X坐标,线段树维护Y上面的线段
H:维护每对点的间隔,对每个点求当其取到最大的半径时,向左和向右拓展且半径递减的可行圆序列,则对于每个点得到一系列的半径candidate,最后递推一下即可。
I:log2[转折点]个数,手动模拟找规律
J:
[/wiki/2021-team6 返回]
Ranklist
submission
概述
solved: 6/10 dirt:
rank: 84
总结
题解
A: 双哈希对所有可能出现的串判重即可
B: 考虑不加限制的情况下2一定能放但202不一定能放,二分答案mid,构造出MID个20后所有的2和0都优先构成202和2020。瞎J8贪心居然能贪的比答案大也是醉了。
C: 二分答案mid, two pointers把所有x距离≤mid的点纳入考察范围,每插入一个点就寻找它当前在考察同色点集中的前驱和后继,修改线段树上(max(it--w+1, y),min(it2-1, y+w))区间,然后check全局最大值是否为k即可。
D:向下行进行
E: 看懂之后
F:每对路径转化为dfs树根到两点的距离加上若干个环,于是可以跑一遍tarjan把环&自环放入线性基。
训练时发现性质:设mx(a)为a到一个线性基异或出来的最大值, mx(a)mx(b)mx(0) = mx(a^b).
G:可以直接考虑正方形中是否包含顶点,于是变成一个整体二分+每次都要离散化一遍的二维数点,复杂度O((n+m)log1e8log(n)),也可以使用set和线段树,set维护X坐标,线段树维护Y上面的线段
H:维护每对点的间隔,对每个点求当其取到最大的半径时,向左和向右拓展且半径递减的可行圆序列,则对于每个点得到一系列的半径candidate,最后递推一下即可。
I:log2[转折点]个数,手动模拟找规律
J: