时间规划
8:30~8:42
题看起来都比较抽象,T2送了60分的康托展开,直接就写了。
8:45~9:02
T1的答案是2,且一定有上升和下降,手玩了一下发现解唯一,因此直接\(O(n^3)\)就有40分。
9:02~9:20
打了个表发现上升的和下降的合为n且互质,那么可以优化到\(O(n^2)\)。
9:20~9:30
符合上述条件的一定合法,问题就是算两个点的距离。
注意到-(n-x)=+x-n,因此相当于一直+x然后%n,那么只需要判断%n的意义下从s跳m-1个x是否为t即可。
复杂度\(O(n)\)。
9:40~10:40
T3的第一档直接模拟就好,第二档可以费用流,正解看起来就是模拟费用流,但是不会。
10:40~11:40
T1的第二个条件是一个同余方程,可以写成kx+b的形式,结合第一个条件,可以直接莫反。后面的已然是一个同余方程的形式,可以利用通解算解数。
复杂度因为mu只有无平方因子时不为0,所以是2^w(n),很松的上界。
没调出来去吃饭了。
12:20~12:40
发现问题是算解数的时候负数的边界有点问题,为了避免分讨直接在边界作个暴力就行了。
好在是和60分的拍上了。
观察了一会发现有的地方会爆longlogn,索性开了int128.
考后总结
T1
考场的思路比较直接但是不太好写,题解的思路复杂度更优但是感觉不太好想不过很好写,只能说各有好处。
这次因为后两题完全没思路,所以只能写T1,即使很讨厌写exgcd相关的东西。
如果再遇到这种思路清晰但是不好写的题,如果后两题有好写的分还是要先写其他题,至少心态上会好很多。
T2
没见过的trick。
考场上想到了拆开算贡献,想到了FFT算差卷积,但是这个形式没见过。
考完看了代码看到分块一下就懂了,只能说还是不太敏感。
在处理值域比大小作为贡献的题的时候,可以把值域分块,这样贡献就确定了,块内暴力。
T3
没深入分析,所以没发现关键性质。
后面的贪心倒是比较好想。
标签:20,19,复杂度,40,T1,两题,2023,直接,考试 From: https://www.cnblogs.com/jesoyizexry/p/17073618.html