时间安排
7:30–7:35 读题,T3是个乱搞题。
7:35–8:00 T1,不太会暴力。状压一下边数,然后幷查集判定。但是这个复杂度是假的过不掉。k=n,w=1貌似可以贪心过,先看T2.
8:00–8:20 T2,n<=5000 n^2 DP即可。
8:20–8:45 T3,容易发现题面要求是个向量点乘,那么
r
e
s
=
∣
x
∣
∣
y
∣
cos
res=|x||y|\cos
res=∣x∣∣y∣cos,由于 cos 值域有限,固定一个模长后另一个范围有限,二分后暴力做即可。对于0要特判。拍了一下,5e4跑的飞快,2e5跑不动。考虑到枚举K的因数,按照因数分类,但是cos不是个整数,尝试平方等各种玄学操作,没什么用。
8:45–9:20 T2,打表发现决策单调性。考虑能不能分治或者直接单调队列做。发现局限在于不能快速算出区间逆序对。想到分块,但是复杂度不是太对。想到能不能利用指针优化,想了一些做法感觉复杂度都不对。
9:20–9:40 T1,k=n,w=1好像可以贪心做。写了个深搜(也许应该写宽搜的?),挂的很惨。
9:40–12:00 对着T1的部分分和T2自闭。
回顾&反思
T1:第一档部分分有写费用流的,有写DP的,有写多项式的。比赛的时候一直在想路径的限制怎么处理,原来拆点之后限制一下流将两个拆点都占满就可以了。对于第二档,W某的贪心竟然过了,匪夷所思,“感性理解”,不明白他是凭什么猜结论猜的这么大胆的,靠着"感性理解"就拿到了分数QWQ。
T2:果然是分治,在每一层分治考虑左边对右边的贡献时,再套一层整体而分,计算逆序对则是运用双指针树桩数组,容易发现指针单调,单层
O
(
n
)
O(n)
O(n) 级别,复杂度竟然是优美的nlog3.感觉一直对分治中对复杂度均摊着一块非常的迷。
T3:思路还是很妙的,固定三个参数,去寻找另一个参数,在模意义的限制下,期望就是
n
n
n\sqrt n
nn 了。均匀分布均匀分布,感觉很多这种乱搞题都是靠着某种分组方式,凭借每一类均摊的性质,保证暴力复杂度正确的。这种取模什么的本质都是一种分组,这种技巧是要get到的。