昨天考了一场数论,今天还考了一道数论,学了一些知识
昨天T1用类似筛法的思想,不断用已知的良好数产生新数并除去不良好数
一个不是良好的数(设x),再乘一个它没有的质因子变为px,那么在它前面的K个比它约数多的数再乘x依然比它小、约数比它多
得出不良好数乘新质数仍是不良好数,反之不然,所以给良好数乘了新质数还要进行筛除
一个坑点:乘以p的k次幂时怕爆long long,但不能用log函数,可能是因为log函数的使用加大了常数
今天T2死的很惨,我没读对题意
我想象的模型:一个盘子上密布高低不平的石柱,给每个石柱上平均撒下高度为1的沙子,让沙子向低处流,直到平静
正解模型:一个木桶周围木板参差不齐,一个水龙头源源不断向木桶流水,最终水位平静
于是这题成了求路径上地势最大值的最小值,跑bfs
看了T3,顺便学了莫比乌斯函数及其线筛,并没有看懂反演的证明
如果这样考虑的话就是用不太完好的贡献得到答案
这题叫gcd,但并不能只想欧几里得的gcd,
两数唯一分解后,他们"重叠"的部分就是gcd
也就是说,含有相同因子p(或其倍数)的两个数,gcd一定含有p(倍)
根据这个容易得到 gcd为x倍 的数量(设g[x]),而这一数量是gcd为x、2x...kx和起来的
也就是已知g[x]是其倍数d的f[d]之和(f[x]是gcd仅为x的数量),这就用到了莫比乌斯反演
坑点:只能开局部long long,否则超时