补NOIP2020
T1
就是拓扑板子。
那个时候出高精很恐怖。
但是现在是能用__int128的时代!
所以我为了图省事不仅用了__int128,甚至用了__gcd
T2
我一开始直接想的是枚举 \(C\),然后求 \(AB\)。
于是我想到 \(n\ln n\) 的做法,就是先预处理出 \(f_{i,j}\) 表示前 \(i\) 位,奇数次字符出现个数不超过 \(j\) 的前缀个数,然后枚举 \(C\),枚举循环节,在循环节内找有多少个合法的 \(A\)。
枚举循环节我用的特别暴力的想法。
就是先预处理每个数的因数,然后存下来(((
空间和时间都是 \(O(n\ln n)\) 的所以问题不大((
这样显然是 84pts
100pts 是用到了一些奇偶相关性质,我写完了来补
T3
奇妙构造((
就是构造方案嘛。
就是分治地对每种颜色处理。
每次我们先把 \([l,mid]\) 的颜色染上同一种,\([mid+1,r]\) 的染上另外一种,然后让所有的同色的在相同柱子上。
然后先让一个柱子上颜色为 \(1\) 的都在上面,颜色为 \(2\) 的都在下面。
就找一个别的什么柱子和空柱子来回倒就行。
然后是改成同色的。
就是相邻两个柱子如果 \(1\) 的和小于等于 \(m\) ,就让左面的那个全改成 \(2\) ,否则全改成 \(1\)。至于改的方式就是把两个柱子都颜色反转,反转就是全挪到空柱子上。
然后就倒一倒就能移出来。
就是需要实时记一下空柱子在哪里就行。
然后移的过程封装到函数里比较方便((
T4
不会
30 白给
100 奇妙数学题不会。
后记
我奶一口我再去考这套我至少有 214 pts
再不济前面 T1 不会高精,T2和 T4 的部分分也不难的吧

浙公网安备 33010602011771号