题面

戳我

Sol

\(ans=\sum_{d=1}^{N}d^k*\sum_{i=1}^{\lfloor\frac{N}{d}\rfloor}\mu(i)*\lfloor\frac{N}{d*i}\rfloor*\lfloor\frac{M}{d*i}\rfloor\)
\(将d*i换成S\)
\(原式=\sum_{S=1}^{N}(\lfloor\frac{N}{S}\rfloor)*(\lfloor\frac{M}{S}\rfloor)*\sum_{i|S}(\frac{S}{i})^k*\mu(i)\)
\(设f(n)=\sum_{i|n}(\frac{n}{i})^k*\mu(i)\),它是个积性函数,可以线性筛

# include <bits/stdc++.h>
# define RG register
# define IL inline
# define Fill(a, b) memset(a, b, sizeof(a))
using namespace std;
typedef long long ll;
const int _(5e6 + 1), MOD(1e9 + 7);IL ll Read(){char c = '%'; ll x = 0, z = 1;for(; c > '9' || c < '0'; c = getchar()) if(c == '-') z = -1;for(; c >= '0' && c <= '9'; c = getchar()) x = x * 10 + c - '0';return x * z;
}int prime[_], num, mu[_], f[_], k, po[_], s[_];
bool isprime[_];IL int Pow(RG ll x, RG ll y){RG ll ret = 1;for(; y; y >>= 1, x = x * x % MOD) if(y & 1) ret = ret * x % MOD;return ret;
}IL void Prepare(){isprime[1] = 1; s[1] = f[1] = 1;for(RG int i = 2; i < _; ++i){if(!isprime[i]) prime[++num] = i, po[i] = Pow(i, k), f[i] = (po[i] - 1 + MOD) % MOD;for(RG int j = 1; j <= num && i * prime[j] < _; ++j){isprime[i * prime[j]] = 1;if(i % prime[j]) f[i * prime[j]] = 1LL * f[i] * f[prime[j]] % MOD;else{  f[i * prime[j]] = 1LL * f[i] * po[prime[j]] % MOD; break;  }}s[i] = (f[i] + s[i - 1]) % MOD;}
}int main(RG int argc, RG char *argv[]){RG ll T = Read(), n, m; k = Read(); Prepare();for(; T; --T){RG ll ans = 0; n = Read(); m = Read();if(n > m) swap(n, m);for(RG ll i = 1, j; i <= n; i = j + 1){j = min(n / (n / i), m / (m / i));(ans += 1LL * (s[j] - s[i - 1] + MOD) % MOD * (n / i) % MOD * (m / i) % MOD) %= MOD;}printf("%lld\n", (ans + MOD) % MOD);}return 0;
}

转载于:https://www.cnblogs.com/cjoieryl/p/8268628.html

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

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

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

  2. BZOJ 4407: 于神之怒加强版

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

  3. BZOJ 4407 于神之怒加强版

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

  4. 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 ...

  5. 【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 ...

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

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

  7. 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\ ...

  8. 【BZOJ4407】于神之怒加强版

    题面 题目分析 \[ \begin{split} \sum\limits_{i=1}^n\sum\limits_{j=1}^mgcd(i,j)^k&=\sum\limits_{d=1}^nd^ ...

  9. P4449-于神之怒加强版【莫比乌斯反演】

    正题 题目链接:https://www.luogu.com.cn/problem/P4449 题目大意 TTT组询问给出n,mn,mn,m求∑i=1n∑j=1mgcd(i,j)k\sum_{i=1}^ ...

  10. 2017.9.26 于神之怒加强版 失败总结

    .这个题直接上反演可以化成: 然后后面的部分是可以预处理的,最简单的预处理是nlogn的,理论能过,但不知为何死活过不了. 所以就需要o(n)来求后面函数的值 设f=∑d|t  mu(d)*(T/d) ...

最新文章

  1. Go并发编程之美-Load/Store操作
  2. python3 reqeusts后写入excel
  3. 计算整数n的b进制展开式
  4. 旋流式沉砂池计算_以高效旋流器为核心的超低成本选煤技术
  5. 经典的三栏布局:圣杯布局,双飞翼布局,flex布局
  6. Matlab--三维散点插值成曲面
  7. (94)FPGA模块例化传递参数(input)
  8. Atitti 知识图谱构建方法attilax 总结
  9. 如何破解无线网密码进行上网
  10. Docker深入浅出系列 | 容器初体验
  11. excel数据分析 - 39个快捷键&10个操作技巧
  12. Input系统学习-----move事件的合并
  13. Shell进阶(三) 交互式脚本 函数 数组 分片 字符串处理
  14. stringsAsFactors=FALSE是什么意思
  15. Java 实现多继承
  16. Android开发——贝塞尔曲线解析
  17. js中创建桌面网页快捷方式代码
  18. xie wen ben ri zhi
  19. 你应该知道的常见的http协议状态
  20. 蚂蚁森林合种三周年6000+证书

热门文章

  1. Oracle分配内存的基本单位:Granule(粒度)
  2. centos从安装到环境配置
  3. 新扬天电脑所配USB键盘功能键驱动问题注意事项
  4. PhoneGap:免费开源的 HTML5 移动应用开发平台
  5. .net站点配置完后常见报错及解决措施
  6. VirtualPC2007添加Shared Folder的方法for dos
  7. 二分图匹配----基于匈牙利算法和KM算法
  8. mac电脑如何查看ip地址
  9. 如何用iMazing来管理ios设备音频文件
  10. icinga+cacti整合