2020牛客国庆集训派对day1 E

Zeldain Garden

https://ac.nowcoder.com/acm/contest/7817/E

分析

读完题分析一下发现是要我们求 。我们可以发现 最多也只有 种取值,而且取值连续。那么我们考虑数论分块。至于数论分块的证明我这里放个网址 这个 有非常优秀的证明,便不加赘述。

代码

#include<bits/stdc++.h>
using namespace std;
#define LL long long
LL a,b,ans;
int main() {
    cin >> a >> b;a--;
    for(LL l = 1,r = 1;l <= b;l = r + 1) r=b/(b/l),ans += (r-l+1)*(b/l);
    for(LL l = 1,r = 1;l <= a;l = r + 1) r=a/(a/l),ans -= (r-l+1)*(a/l);
    cout << ans << endl;  
}
比赛题解 文章被收录于专栏

近期比赛的题解应该有吧。。。

全部评论

相关推荐

09-29 11:19
门头沟学院 Java
点赞 评论 收藏
分享
6 收藏 评论
分享
牛客网
牛客企业服务