2023.3.6 省选模拟赛总结
1.时间安排
7:30~8:30
T1:与逆序对相关的计数,需要记权值和,\(n\) 范围很小也许是状压,但是 \(m\) 与模数同级可能连组合数都不好求。
T2:和T1很类似的数据范围,\(m\) 更是到了逆天的 \(1e18\),见过类似的题[ABC288Ex] A Nameless Counting Problem,但不会做,而且数据范围截然不同。
T3:莫反题,但是涉及到了除数函数,不擅长。
把T1T2暴力写了,觉得都太逆天了,就没继续想。
8:30~12:00
先把T3的 \(nlogn\) 基础莫反写了,然后进行了漫长的推式子,终于在11点推出来了线性筛的式子,写完没精力上杜教筛了。
result:
T1:10 T2:15 T3:15(25,忘改数组大小RE)
2.总结
三个逆天数数……
T1:
按套路从小到大放数,用二进制状态表示比 \(i\) 小的数放的集合,判断状态合法转移即可做到 \(O(m*3^n)\)。
按套路拉格朗日差值,方案数是关于 \(m\) 的 \(n\) 次多项式,方案的权值和是关于 \(m\) 的 \(n+1\) 次多项式,直接拉插就可以做到 \(n*3^n\)。
可以提前把所有合法的状态转移预处理出来,是跑不满 \(n*3^n\) 的,足够通过。
不知道该写什么。
我也不知道给时间留够了能不能写出来,但是三题都是高强度计数怎么让人冷静下来思考……
T2:
假设序列单调递增,构造序列 \(b\),若 \(a_i=a_{i+1)\) ,则 \(b_i=0\),反之 \(b_i=1\)。
那么每次新增一位时一定是前缀一段0后缀一段1,根据目标这一位是否是1决定1的个数的奇偶性,状态是容易合并的。
这个过程可以用矩乘优化,复杂度 \(O(num*(2^n)^2*logm+(2^n)^3*logm)\)。
按套路压缩状态,长度相等的连续段的数量相同的状态本质相同,都可以被同一个01串转换到相同的压缩状态,打表得到只有 \(231\) 个本质不同的状态。
复杂度 \(O(num*231^2*logm+231^3*logm)\)。
感想同T1
T3:
考场上莫反到了求 \(\sum_{D=1}^{n}(\lfloor \frac{n}{D} \rfloor)^2\sum_{d|D}^{D}d*\phi(\frac{D}{d})\)
上面的式子主要是为了筛积性函数方便。
按杜教筛定义式给 \(\phi * id\) 补上一个 \(I\),有 \((\phi * id * I)(n)=n * d(n)\)。
那么就需要求 \(\sum_{i=1}^{n}i * d(i)\)。
\(\sum_{i=1}^{n}i * d(i)=\sum_{i=1}^{n}i\sum_{j|i}^{i}1=\sum_{i=1}^n i * \lfloor \frac{n}{i} \rfloor\)
那么直接上杜教筛,复杂度 \(O(n^{\frac{2}{3}})\)。
考试时候的nt(脑瘫,逆天均可)操作:
典中典之化简一圈化道原形式。
化简了好久才想到拆除数函数定义式。
当我写下 \((id * id)(n)=n * d(n)\) 时,小丑的面具自动跑到我的脸上。
典中典之不会筛除了 \(\phi,\mu\) 以外的积性函数。
典中典之筛的时候取模除法用逆元线性筛带log。
典中典之记录最小质因子的 \(k\) 次幂取模。
典中典之忘了降幂公式是模 \(\phi(mod-1)\)。
(基本上把莫反和数论常见错误犯了一遍……)

浙公网安备 33010602011771号