51假期那段时间因为水了一段时间的数模校赛,加上专业课的坑越欠越多…因而已经很久很久没有补过题目了…
从近到远,先把西电校赛的坑填起来,再把之前的CF牛客Atcoder补起来…qaq
C
发现交换律后就显然了。
D
双指针。
好像第一天晚上还有个小兄弟通过实验群问我这个题目,我机智地拒绝了他。
结果第二天就看到他因为代码抄袭被禁赛的消息
E
做的时候一直在用假算法…WA了大概15发才意识到可能真的是个赤裸裸的模版题…
SCC缩点 & 构造超级源点跑dijstra
(标程中没有构造源点直接用的拓扑排序&dp,比我的dijstra少个log的复杂度,不过问题不大)
一直没写出来的原因主要在于…SCC这一块的知识点学的一塌糊涂(遥记是第一天暑训 & 第一天爆零)…而且平时CF的训练基本是没有图论的…之前打的5小时大赛的题目也不知道有没有这种纯模版题,最终导致了模版题切的自闭的一比。。
F
场上打的时候其实没有系统训练过正统的数论分块,然而我自己根据这种思想手撸了一个虽然野但是不假的数论分块qwq
赛后补题真是一言难尽…首先还是先处理一下这道题中涉及到的数论分块问题:('/'
号即表示向下取整的除法)
- 形式 n k \frac{n}{k} kn至多有 2 n 2\sqrt{n} 2n 个不同的结果。这是因为当 k < n k <\sqrt{n} k<n时,一个k对应一个结果,至多k种; k > n k > \sqrt{n} k>n时,除式 n k \frac n k kn小于 n \sqrt{n} n,至多也只有 n \sqrt{n} n种。
- 假设数 i i i满足 n i = p \frac ni=p in=p, j j j是最大的可以满足 n j = p \frac nj = p jn=p的数,那么j可以表示为 n p \frac np pn也就是 n n i \frac n{\frac ni} inn。容易证明:数 j j j满足等式,则有 p < = n j < p + 1 p <= \frac nj < p + 1 p<=jn<p+1;从而