正题

P3455


题目大意

有T组询问,每组询问给出n,m,c,求∑i=1n∑j=1m[(i,j)=c]\sum_{i=1}^{n}\sum_{j=1}^{m}[(i,j)=c]i=1∑n​j=1∑m​[(i,j)=c]


解题思路

可以先对n,m除c这样就使得求出的数都有c的因子,得到式子如下
∑i=1n∑j=1m[(i,j)=1]∑i=1n∑j=1m∑d∣i,d∣jμ(d)∑d=1min(n,m)μ(d)×⌊nd⌋×⌊md⌋\sum_{i=1}^{n}\sum_{j=1}^{m}[(i,j)=1]\\ \sum_{i=1}^{n}\sum_{j=1}^{m}\sum_{d|i,d|j}\mu(d)\\ \sum_{d=1}^{min(n,m)}\mu(d)\times \left\lfloor\frac{n}{d}\right\rfloor\times \left\lfloor\frac{m}{d}\right\rfloor i=1∑n​j=1∑m​[(i,j)=1]i=1∑n​j=1∑m​d∣i,d∣j∑​μ(d)d=1∑min(n,m)​μ(d)×⌊dn​⌋×⌊dm​⌋
然后整除分块求解

时间复杂度O(Tn)O(T\sqrt{n})O(Tn​)


code

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define ll long long
#define N 50050
using namespace std;
int T,n,m,d,w,ans,mu[N],p[N],prime[N];
void work()
{p[1]=1;mu[1]=1;for(int i=2;i<=50000;++i){if(!p[i]){prime[++w]=i;mu[i]=-1;}for(int j=1;j<=w&&i*prime[j]<=50000;++j){p[i*prime[j]]=1;if(i%prime[j]==0){mu[i*prime[j]]=0;break;}else mu[i*prime[j]]=-mu[i];}}for(int i=2;i<=50000;++i)mu[i]+=mu[i-1];return;
}
int main()
{work();scanf("%d",&T);while(T--){scanf("%d%d%d",&n,&m,&d);n/=d;m/=d;ans=0;for(int l=1,r=0;l<=min(n,m);l=r+1){r=min(n/(n/l),m/(m/l));ans+=(mu[r]-mu[l-1])*(n/l)*(m/l);}printf("%d\n",ans);}return 0;
}

【数论】ZAP-Queries(P3455)相关推荐

  1. BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块)

    BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块) 手动博客搬家: 本文发表于20171216 13:34:20, 原地址https://blog.csd ...

  2. BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+分块)

    URL: (Luogu)https://www.luogu.org/problem/show?pid=3455 (BZOJ)http://www.lydsy.com/JudgeOnline/probl ...

  3. BZOJ 1101: [POI2007]Zap

    题目 1101: [POI2007]Zap Time Limit: 10 Sec  Memory Limit: 162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题: ...

  4. 《算法竞赛进阶指南》数论篇(3)-组合计数,Lucas定理,Catalan数列,容斥原理,莫比乌斯反演,概率与数学期望,博弈论之SG函数

    文章目录 组合计数 例题:Counting swaps Lucas定理 Cnm≡Cnmodpmmodp∗Cn/pm/p(modp)C_n^m\equiv C_{n\ mod\ p}^{m\ mod\ ...

  5. Go 学习笔记(54)— Go 第三方库之 uber-go/zap/lumberjack(记录日志到文件、支持自动分割日志、支持日志级别、打印调用文件、函数和行号)

    1. 简要说明 zap 是 uber 开源的 Go 高性能日志库,支持不同的日志级别, 能够打印基本信息等,但不支持日志的分割,这里我们可以使用 lumberjack 也是 zap 官方推荐用于日志分 ...

  6. 数论(一)——素数,GCD,LCM

    这是一个数论系列:) 一.素数 ×费马小定理 Theorem: 设 p 是一个素数,a 是一个整数且不是 p 的倍数,那么 很遗憾,费马小定理的逆定理是不成立的.对 a = 2,满足的非素数 n 是存 ...

  7. 【原】YUI压缩与CSS media queries下的bug

    大概是上个月,使用YUI压缩一个css文件后,发现只要是被压缩后的css文件有部分根本无法工作,一直都不知啥问题引起的,让我感到头疼. 今天发现了只要是在媒体查询中的样式无法起作用,于是才开始怀疑是m ...

  8. SPOJ GSS3-Can you answer these queries III-分治+线段树区间合并

    Can you answer these queries III SPOJ - GSS3 这道题和洛谷的小白逛公园一样的题目. 传送门: 洛谷 P4513 小白逛公园-区间最大子段和-分治+线段树区间 ...

  9. 【数论总结】-----励志写好一篇数论总结↖(^ω^)↗//正在施工...未完工

    近期学了学数论,来写一波总结吧. (1)排列组合,比较基础的东西了吧.//只写个概念吧,(逃: 概念:就是从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合: ...

最新文章

  1. MQTT Qos类型解释
  2. mysql 安装 注意点
  3. Oracle中joint,oracle support
  4. RoR开发环境搭建 RAILS install log
  5. ORACLE数据库 常用命令和Sql常用语句
  6. 这所985大学决定:404名硕博研究生,退学处理!
  7. Mybatis源码之缓存模块分析
  8. 【转】jsp+servlet和SSM分别是如何实现文件上传(示例)
  9. UVa1149 - Bin Packing
  10. ftl转pdf及问题集锦
  11. bzoj1076 奖励关(概率dp)(状态压缩)
  12. VSCode中Clangd无法找到stdio.h
  13. 高教杯数学建模国赛论文模板+2013到2019年的国赛优秀论文+2020年数学建模论文心得---数学建模友友必看
  14. 面试官:如何实现扫码登录功能?
  15. 高精度地图Lanelet的基本结构
  16. 图像处理———图像的几何变换原理及实现
  17. 计算机修改wif教程,电脑修改wifi密码步骤
  18. pta一元多项式求导
  19. Android_版本对应
  20. 单位办公电脑声音和摄像头被关闭,如何打开笔记本麦克风和摄像头。

热门文章

  1. java gzip 解压文件_Java实现文件压缩与解压[zip格式,gzip格式]
  2. 3dsmax子菜单无法选择_3DsMax—用平面图片制作3D模型
  3. python opencv 图像添加噪声_opencv+python同时加椒盐噪声和随机杂点噪声
  4. setnx是原子操作吗_谈谈Volatile关键字?为什么不能保证原子性?用什么可以替代?为什么?...
  5. java使用教程——组件及事件处理——常用组件与布局
  6. JS中this的应用场景,再了解下apply、call和bind!
  7. Java计算时间差_传统的SimpleDateFormat类
  8. [C++11]推荐使用auto的场景
  9. 蓝桥杯2015初赛-方程整数解-枚举
  10. 给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构(算法导论第十章10.4-3)