P3601 签到题

这道题其实的qiandao(n)就是n - \varphi (n),那我们继续定义一个函数\phi (i) = i -\varphi (i)

也就是求\sum_{i = l}^{r}(\phi (i)) mod 666623333的值,多简单啊!但:

对于100%的数据,1\leqslant l\leqslant r\leqslant 10^{12}。但我很勇敢,还是干了,呃,结果可想而知:3个点AC其他全TLE,这肯定是个什么筛,督教筛可能不行:时间按复杂度O(n^ \frac{2}{3})

计算一下,O(10 ^{12 * \frac{2}{3}}) = O(10 ^ 8),稳炸,你也许可以去试试(试试就逝世)……

我们只能换亿种思路:

其实很难处理的就是\phi (i),硬算是O(\sum_{i = l}^{r}\sqrt{i}),你可以再去逝世一次……

其实比如\phi (i)\phi (i + 1)其实是由一定关系的,什么关系自己体会QwQ

那么算的时候集体更新,复杂度就变成了:\sum_{p\in prime}^{}(\frac{r -l}{p} + 1)

所以答案就呼之欲出了……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值