ICPC2022 Online Contest 2 游记

总结,8个题,前期罚时爆炸,后期坐牢。

开局先找到签到题【E】。题意是给定 \(a_1\) 要求构造 数组 \(a_i\) , 满足 \(\gcd(a_i, a_{i-1})==1\)\(a_i>1\)

显然直接贪一波,后面的构造肯定是2 3 2 3,但是考虑到第一个数可以是6,所以第二个数要找最小的不是 \(a_1\) 因子的一个质数,搞个线性筛上去就行了;然后后面直接找规律。

然后发现这个博弈论【J】很可做的样子,发现如果两边一个小一个大,拿走大的之后小的就拿不了了,变成计算步数膜2,于是处理一下向左、向右的单调递增长度;如果拿走大的话就相当于把一个问题扔给对手,注意要加一个lim为你拿的那个数,后续只能拿大于lim的数字,然后用博弈论的基本原理递归一下就行了。当然有的时候可能会有最长递增子串比当前处理子区间长,但是这个没关系 ,因为你显然可以拿大的那一边,你就赢了。第一发把递归r-1写成r+1导致爆栈了,第二发忘了判limit了,喜提。

然后ghj在做【A】题,发现他p是100以内素数而且输入也只考察了100以内。于是就有一个东西叫做费马小定理,\(10^i\mod p\) 是带循环的。ghj这个智障一开始以为循环节是p,然后有一个死活过不去。后来发现这玩意不是p-1吗。

然后到了经典的三人三题局面,卢姥爷发现这个【B】似乎是xjb DP一下就行了,ls发现这个【F】可以直接跳父亲xjb算一下,ghj发现这个【J】是个智障题,因为区间是套娃的,每个区间作为一个子问题,处理好嵌套关系然后直接大力阶乘就行。

卢姥爷交了两发B题然后发现假了,然后ls交了一个F发现也假了。ghj交了一个J发现也假了。心态究极爆炸然后开始坐牢。

ghj发现少写了个取模,喜提问罪,交上去过了;然后是卢姥爷的B,在经历一波赛博打印大眼分析后发现DP的一个范围写假了,改了改过了。然后ghj给ls重置一发F,交上去tle,发现本来是 \(O(T\log n)\) 的被重置成过不去的 \(O(T\log^2 n)\) 了,然后又改了改 \(O(T\log n)\) 过了。此时过去了2h。

然后从来不写计算几何的ls发现【K】好像是个不那么计算几何的计算几何,ghj开始写,然后ls因为太急把ghj换下去了,然后ghj因为太急跟ls吵起来了(具体为啥呢主要是一些处理方法)显然正方形的贡献可以在边上统计,圆形的贡献在格子内统计。对于一个边,如果他有贡献,那么他相邻两个格子被正方形占领情况的异或是1,并且他链接两个点没有圆,于是你对于每个正方形对四个格子标记个vis就行了,ls这人他非得看可能的正方形的点,不很麻烦吗。对于圆形的贡献,只需要统计每个格子在没被正方形占领情况下,四个角长啥样,如果是1个圆那么就\(\frac\pi2\) 如果两个相邻的就是 \(\frac\pi3\),其它情况都是0,然后处理一下6的逆元就可以了

最后又过了个【L】题,先骂一句输入数据的生成格式,虽然三个人都没被他困扰。卢姥爷发现这玩意好像DP可以写成矩阵乘法的形式,然后处理一个前缀和逆的前缀,再大力优化一下就可以了。然后先写了个朴素的5x5矩乘,然后跑一遍发现不对,一开始以为内存加爆了,后来发现操蛋矩阵乘法不支持交换律,左乘和右乘全写反了,注意如果你用列向量那么越靠后的转移应该写在左边,反之亦然,然后逆矩阵的乘法反之。然后发现矩阵都是下三角且对角线都是1,大力把25个元素优化成10个,开一个10元素的一维数组然后手动展开矩阵乘法,交上去就过了。最后也没用到数据随机的性质,可能就是为了给你出大数据用的。此时距离结束还有一个半小时。

然后发现【H】题过的人最多,然后讨论了一波发现点分治换根啥的好像都不行,遂弃疗。然后发现【D】似乎可做,考虑枚举 x和y 然后考虑其它 i和j 对其影响,但是对于 \(i\le x,y\le j\) 的情况他能做出来但是我就是推不出来我不会推,弃疗。

那么问题来了,ls的K题哪里假了呢?把一个大于等于号写成大于号了。ghj已经指出这好像有问题然而他浑然不觉。。

posted @ 2022-09-26 14:03  ghj1222  阅读(107)  评论(0编辑  收藏  举报