好神的莫比乌斯函数然后O(sqrt(n)*sqrt(n))好神的优化啊。

#include<cstdio>
#include<cstring>
#include<cctype>
#include<algorithm>
using namespace std;
#define rep(i,s,t) for(int i=s;i<=t;i++)
#define dwn(i,s,t) for(int i=s;i>=t;i--)
#define clr(x,c) memset(x,c,sizeof(x))
#define ll long long
int read(){int x=0;char c=getchar();while(!isdigit(c)) c=getchar();while(isdigit(c)) x=x*10+c-'0',c=getchar();return x;
}
const int nmax=1e7+5;
const int inf=0x7f7f7f7f;
const int mod=20101009;
int mo[nmax],pe[nmax>>3],n,m;bool vis[nmax];
ll sm[nmax];
void init(){mo[1]=1;int cnt=0;rep(i,2,n) {if(!vis[i]) pe[++cnt]=i,mo[i]=-1;rep(j,1,cnt){if(i*pe[j]>n) break;vis[i*pe[j]]=1;if(i%pe[j]==0){mo[i*pe[j]]=0;break;}mo[i*pe[j]]=-mo[i];}}rep(i,1,n) sm[i]=(sm[i-1]+(ll)mo[i]*i%mod*i%mod)%mod;
}
ll gets(int x,int y){return (ll)x*(x+1)/2%mod*((ll)y*(y+1)/2%mod)%mod;
}
ll getf(int x,int y){int cur;ll ans=0;for(int i=1;i<=x;i=cur+1){cur=min(x/(x/i),y/(y/i));ans=(ans+(sm[cur]-sm[i-1]+mod)%mod*gets(x/i,y/i)%mod)%mod;}return ans;
}
int main(){n=read(),m=read();if(n>m) swap(n,m);init();int cur;ll ans=0;for(int i=1;i<=n;i=cur+1){cur=min(n/(n/i),m/(m/i));ans=(ans+(ll)(i+cur)*(cur-i+1)/2%mod*getf(n/i,m/i)%mod)%mod;}printf("%lld\n",ans);return 0;
}

  

2154: Crash的数字表格

Time Limit: 20 Sec  Memory Limit: 259 MB
Submit: 2759  Solved: 1038
[Submit][Status][Discuss]

Description

今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple)。对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数。例如,LCM(6, 8) = 24。回到家后,Crash还在想着课上学的东西,为了研究最小公倍数,他画了一张N*M的表格。每个格子里写了一个数字,其中第i行第j列的那个格子里写着数为LCM(i, j)。一个4*5的表格如下: 1 2 3 4 5 2 2 6 4 10 3 6 3 12 15 4 4 12 4 20 看着这个表格,Crash想到了很多可以思考的问题。不过他最想解决的问题却是一个十分简单的问题:这个表格中所有数的和是多少。当N和M很大时,Crash就束手无策了,因此他找到了聪明的你用程序帮他解决这个问题。由于最终结果可能会很大,Crash只想知道表格里所有数的和mod 20101009的值。

Input

输入的第一行包含两个正整数,分别表示N和M。

Output

输出一个正整数,表示表格中所有数的和mod 20101009的值。

Sample Input

4 5

Sample Output

122
【数据规模和约定】
100%的数据满足N, M ≤ 10^7。

HINT

Source

[Submit][Status][Discuss]

转载于:https://www.cnblogs.com/fighting-to-the-end/p/5858104.html

bzoj2154: Crash的数字表格相关推荐

  1. bzoj2154 Crash的数字表格

    2154: Crash的数字表格 Time Limit: 20 Sec  Memory Limit: 259 MB Submit: 4549  Solved: 1643 [Submit][Status ...

  2. BZOJ2154: Crash的数字表格 BZOJ2693: jzptab

    [传送门:BZOJ2154&BZOJ2693] 简要题意: 给出n,m,求$\sum_{i=1}^{n}\sum_{j=1}^{m}LCM(i,j)$ 题解: 莫比乌斯反演(因为BZOJ269 ...

  3. [BZOJ2154]Crash的数字表格 莫比乌斯反演

    orz PoPoQQQ 课件上的例题啊orzorz 话说这种根号划分的方法好像次次都有的样子orzorz http://wenku.baidu.com/link?url=RRtdDApIUqzKmUD ...

  4. 【BZOJ2154】Crash的数字表格 [莫比乌斯反演]

    Crash的数字表格 Time Limit: 20 Sec  Memory Limit: 259 MB [Submit][Status][Discuss] Description 今天的数学课上,Cr ...

  5. BZOJ 2154 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演,经典好题)(Luogu P1829)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P1829 [国家集训队]Crash的数字表格 / JZPTAB(反演,经典好题) Problem S ...

  6. 【BZOJ】【2154】Crash的数字表格

    莫比乌斯反演 PoPoQQQ讲义第4题 题解:http://www.cnblogs.com/jianglangcaijin/archive/2013/11/27/3446169.html 感觉两次sq ...

  7. BZOJ 2154 Crash的数字表格 (莫比乌斯反演)

    Crash的数字表格 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数.例如, ...

  8. P1829 [国家集训队]Crash的数字表格(推了好久的mobius反演)

    P1829 [国家集训队]Crash的数字表格 / JZPTAB 推导过程 ∑i=1n∑j=1mlcm(i,j)\sum_{i = 1} ^{n} \sum_{j = 1} ^{m} lcm(i, j ...

  9. P1829 [国家集训队]Crash的数字表格 / JZPTAB

    P1829 [国家集训队]Crash的数字表格 / JZPTAB 题意: 求∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)∑i=1n​∑j ...

最新文章

  1. 关于自注意力机制的思考
  2. 【254天】跃迁之路——程序员高效学习方法论探索系列(实验阶段12-2017.10.17)...
  3. Python:更改默认启动的python程序及其对应的安装包路径(更改pip的默认安装包的路径)图文教程之详细攻略
  4. TRUNCATE,DELETE,DROP的区别
  5. 缓存之EHCache(二)
  6. 各种模板(数据结构图论)
  7. unitec理工学院 计算机,2020年新西兰留学Unitec理工学院计算机硕士课程全面解析...
  8. inodesusedpercent_Linux系统中常用的监控指标整理
  9. 【洛谷 P3384】树链剖分【详解树链剖分】
  10. November Matrix的算力革命之路
  11. 小米2S稳定版 教你如何一键ROOT
  12. 电脑系统怎么修改图片格式
  13. 多张图片合成一个tif文件
  14. 【转载】Kali Linux 64位架构安装Veil-Evasion
  15. 阿里无线11.11 | 手机淘宝主会场实践之路
  16. js判断手机是否安装了某个APP,如果安装了就打开,没安装就下载
  17. 记录学习向量的铭心刻骨的句子
  18. 苹果iOS越狱后没有声音的解决办法
  19. python zip(*zipped)的疑问
  20. 儿童节到了!让 GitHub 上这几个小游戏帮你找回童真吧!

热门文章

  1. (一)为什么你应该(从现在开始就)写博客
  2. linux 扩展zhu分区,Linux分区调整(LVM和非LVM环境中扩容和缩小)
  3. 013_下载静态资源
  4. 075_html5全局属性
  5. python实现md5加密_Python实现md5加密验证访问接口总结
  6. ImageView宽度填满屏幕,高度自适应
  7. Php数组面包屑导航,PHP 导航提示(面包屑型轨迹)
  8. JVM 类加载机制:编译器常量与初始化
  9. arduino下载库出错_arduino的I2C通讯 3:驱动1602液晶屏
  10. xshell 安装yum_本地yum源配置及Xshell连接