4407: 于神之怒加强版

Time Limit: 80 Sec  Memory Limit: 512 MB
Submit: 560  Solved: 271
[Submit][Status][Discuss]

Description

给下N,M,K.求

Input

输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示。

Output

如题

Sample Input

1 2
3 3

Sample Output

20

HINT

1<=N,M,K<=5000000,1<=T<=2000

题解:JudgeOnline/upload/201603/4407.rar

Source

命题人:成都七中张耀楠,鸣谢excited上传。

分析:

定义$n<=m$...

$\sum _{i=1}^{n}\sum _{i=1}^{m} gcd(i,j)^k$

$=\sum _{d=1}^{n} d^k \sum _{x=1}^{n} \mu (x) \left \lfloor \frac{n}{xd} \right \rfloor \left \lfloor \frac{m}{xd} \right \rfloor$

令$y=xd$

$\sum _{d=1}^{n} d^k \sum _{d\mid y} \mu (\frac{y}{d}) \left \lfloor \frac{n}{y} \right \rfloor \left \lfloor \frac{m}{y} \right \rfloor$

$=\sum _{y=1}^{n} \left \lfloor \frac{n}{y} \right \rfloor \left \lfloor \frac{m}{y} \right \rfloor \sum _{d\mid y} \mu( \frac{y}{d} ) d^k$

令$f(n)=\sum _{d\mid n} \mu (\frac{n}{d}) d^k$,可以通过线性筛线性求出$f(x)$...

因为$f(x)$是一个积性函数,所以有以下转化:

$f(n)=\Pi _{i=1}^{t} f(p_i^{x_i})$

$=\Pi _{i=1}^{t} \sum _{d\mid p_i^{x_i}} \mu (\frac{p_i^{x_i}}{d}) d^k$

因为当一个数含有平方因子的时候$\mu (x)=0$,所以可以发现之后下面的两项是有用的...

$=\Pi _{i=1}^{t} \mu (1) p_i^{x_i} +\mu (p_i) p_i^{k(x_i-1)}$

$=\Pi _{i=1}^{t} p_i^{kx_i}-p_i^{k(x_i-1)}$

$=\Pi _{i=1}^{t} p_i^{k(x_i-1)}(p_i^k-1)$

我们发现,当$p$是一个质数的时候,$f(p)=p^k-1$,所以我们可以得到一下等式:

$f[x*p]=f[x]f[p]$   ---   $x$%$p\neq 0$

$f[x*p]=f[x]*p^k$ ---   $x$%$p = 0$

就可以愉快地分块计算了...

代码:

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
//by NeighThorn
using namespace std;const int maxn=5000000+5,mod=1e9+7;int n,m,k,ans,cas,cnt,f[maxn],g[maxn],pri[maxn],vis[maxn];inline int power(int x,int y){int res=1;while(y){if(y&1)res=1LL*res*x%mod;x=1LL*x*x%mod,y>>=1;}return res;
}signed main(void){scanf("%d%d",&cas,&k);g[1]=1;for(int i=2;i<=5000000;i++){if(!vis[i])pri[++cnt]=i,vis[i]=1,f[i]=power(i,k),g[i]=f[i]-1;for(int j=1;j<=cnt&&1LL*i*pri[j]<=5000000;j++){vis[i*pri[j]]=1;if(i%pri[j]==0){g[i*pri[j]]=1LL*g[i]*f[pri[j]]%mod;break;}g[i*pri[j]]=1LL*g[i]*g[pri[j]]%mod;}}for(int i=2;i<=5000000;i++)g[i]=(g[i-1]+g[i])%mod;while(cas--){scanf("%d%d",&n,&m);ans=0;if(n>m) swap(n,m);for(int i=1,r;i<=n;i=r+1){r=min(n/(n/i),m/(m/i));ans=(ans+1LL*(n/i)*(m/i)%mod*((g[r]-g[i-1]+mod)%mod)%mod)%mod;}printf("%d\n",ans);}return 0;
}

  


By NeighThorn

转载于:https://www.cnblogs.com/neighthorn/p/6679807.html

BZOJ 4407: 于神之怒加强版相关推荐

  1. BZOJ 4407 于神之怒加强版

    题目链接:于神之怒加强版 这个式子还是很妙的,只是我已经思维僵化了 \begin{aligned}  &\sum_{i=1}^n\sum_{j=1}^m\gcd(i,j)^k \\ =& ...

  2. BZOJ 4407: 于神之怒加强版|莫比乌斯反演

    不会搞数学公式很苦恼!! flag:会写数学公式之后一定好好写一发题解 非常感谢龙爷(sd第一男选手!!可惜神犇都不写blog)提供线性筛做法 2.16----------------- 一下均设n& ...

  3. BZOJ 4407于神之怒加强版

    题解: 转载于:https://www.cnblogs.com/zzyer/p/8546356.html

  4. bzoj4407 于神之怒加强版(莫比乌斯反演+线性筛)

    4407: 于神之怒加强版 Time Limit: 80 Sec  Memory Limit: 512 MB Submit: 355  Solved: 174 [Submit][Status][Dis ...

  5. 于神之怒加强版 [Bzoj 4407]

    题目地址请点击-- 于神之怒加强版 Description 给定 NN , MM , KK . Input 输入有多组数据,输入数据的第一行两个正整数 TT , KK,代表有 TT 组数据,KK 的意 ...

  6. P4449 于神之怒加强版

    P4449 于神之怒加强版 推式子 ∑i=1n∑j=1ngcd(i,j)h\sum_{i = 1} ^{n} \sum_{j = 1} ^{n} gcd(i, j) ^ h i=1∑n​j=1∑n​g ...

  7. 【LG-P4449】于神之怒加强版

    P4449 于神之怒加强版 给定 n , m , k n,m,k n,m,k,计算 ∑ i = 1 n ∑ j = 1 m gcd ⁡ ( i , j ) k \sum_{i=1}^n \sum_{j ...

  8. GMOJ 4161 / Luogu P4449 于神之怒 (加强版) 题解

    于神之怒 (加强版) 题解 Description 求 F ( n , m ) = ∑ i = 1 n ∑ j = 1 m gcd ⁡ ( i , j ) k F(n,m)=\sum_{i=1}^n\ ...

  9. 【BZOJ】【P4407】【于神之怒加强版】【题解】【数论】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4407 这两天刚好在给学弟讲数论,bzoj上就来了一道裸题-- 答案就是\sum_D F(D) ...

最新文章

  1. python中csv文件通过什么表示字符_python_写入csv文件时候无法进行原样写入(写入字符串中出现逗号,时候,csv文件自动分成两个单元格)...
  2. informix和mysql的区别_DB2与Informix区别比较
  3. linux transmission,Linux下使用Transmission新版
  4. java邮箱格式_JavaMail入门:创建纯文本、HTML格式的邮件
  5. 2016.10.26
  6. 进程间通信之管道与有名管道
  7. 结构方程软件Lisrel 8.7 和HLM5.5
  8. 基于stc15f2k60s2芯片单片机编程(按键控制)
  9. amesim2020安装
  10. 基于matlab的红外图像处理算法研究,基于小波的红外图像去噪算法研究
  11. HTML爱心网页制作[樱花+爱心]
  12. Win7旗舰版安装经验
  13. matlab数据块的dct编码,[转载]基于DCT图像压缩编码算法的MATLAB实现
  14. 程序架构之redis扩容 (增加端口)
  15. 测试wince wifi漫游的方法(参考)
  16. php实现数字英文验证码,php 英文、数字验证码的完整代码
  17. C#栈(后进先出)队列实现与解析
  18. html怎么设置默认图片,怎样设置默认照片浏览器
  19. 【计组】储存器的性能指标
  20. 2020移动apn接入点哪个快_为什么别人的4g网总比你快? 手机这个设置没开启, 难怪网络差...

热门文章

  1. php传输数组给axios
  2. 如何做网络营销推广浅析网站SEO外链发布的技巧分享!
  3. 如何做网络推广浅析网站文章的结构对优化的重要性!
  4. 在网站推广的道路中同样的起点,知乎豆瓣却走上了不相交的两条路
  5. 网络推广专员浅析如何提升企业网站在网络推广期间的用户体验?
  6. 企业网络推广——企业网络推广表示网站优化少不了这三大技能
  7. 网站精准定位从这三方面着手
  8. 提升网站竞争力从这三方面着手努力!
  9. irobot擦地机器人故障_iRobot擦地机器人:只会擦地并不“奢侈”
  10. 西安思源中学2021高考成绩查询入口,西安思源中学隆重举行2020-2021学年第二学期开学典礼...