【数论】ZAP-Queries(P3455)
正题
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∑nj=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∑nj=1∑m[(i,j)=1]i=1∑nj=1∑md∣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)相关推荐
- BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块)
BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+数论分块) 手动博客搬家: 本文发表于20171216 13:34:20, 原地址https://blog.csd ...
- BZOJ 1101 Luogu P3455 POI 2007 Zap (莫比乌斯反演+分块)
URL: (Luogu)https://www.luogu.org/problem/show?pid=3455 (BZOJ)http://www.lydsy.com/JudgeOnline/probl ...
- BZOJ 1101: [POI2007]Zap
题目 1101: [POI2007]Zap Time Limit: 10 Sec Memory Limit: 162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题: ...
- 《算法竞赛进阶指南》数论篇(3)-组合计数,Lucas定理,Catalan数列,容斥原理,莫比乌斯反演,概率与数学期望,博弈论之SG函数
文章目录 组合计数 例题:Counting swaps Lucas定理 Cnm≡Cnmodpmmodp∗Cn/pm/p(modp)C_n^m\equiv C_{n\ mod\ p}^{m\ mod\ ...
- Go 学习笔记(54)— Go 第三方库之 uber-go/zap/lumberjack(记录日志到文件、支持自动分割日志、支持日志级别、打印调用文件、函数和行号)
1. 简要说明 zap 是 uber 开源的 Go 高性能日志库,支持不同的日志级别, 能够打印基本信息等,但不支持日志的分割,这里我们可以使用 lumberjack 也是 zap 官方推荐用于日志分 ...
- 数论(一)——素数,GCD,LCM
这是一个数论系列:) 一.素数 ×费马小定理 Theorem: 设 p 是一个素数,a 是一个整数且不是 p 的倍数,那么 很遗憾,费马小定理的逆定理是不成立的.对 a = 2,满足的非素数 n 是存 ...
- 【原】YUI压缩与CSS media queries下的bug
大概是上个月,使用YUI压缩一个css文件后,发现只要是被压缩后的css文件有部分根本无法工作,一直都不知啥问题引起的,让我感到头疼. 今天发现了只要是在媒体查询中的样式无法起作用,于是才开始怀疑是m ...
- SPOJ GSS3-Can you answer these queries III-分治+线段树区间合并
Can you answer these queries III SPOJ - GSS3 这道题和洛谷的小白逛公园一样的题目. 传送门: 洛谷 P4513 小白逛公园-区间最大子段和-分治+线段树区间 ...
- 【数论总结】-----励志写好一篇数论总结↖(^ω^)↗//正在施工...未完工
近期学了学数论,来写一波总结吧. (1)排列组合,比较基础的东西了吧.//只写个概念吧,(逃: 概念:就是从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合: ...
最新文章
- MQTT Qos类型解释
- mysql 安装 注意点
- Oracle中joint,oracle support
- RoR开发环境搭建 RAILS install log
- ORACLE数据库 常用命令和Sql常用语句
- 这所985大学决定:404名硕博研究生,退学处理!
- Mybatis源码之缓存模块分析
- 【转】jsp+servlet和SSM分别是如何实现文件上传(示例)
- UVa1149 - Bin Packing
- ftl转pdf及问题集锦
- bzoj1076 奖励关(概率dp)(状态压缩)
- VSCode中Clangd无法找到stdio.h
- 高教杯数学建模国赛论文模板+2013到2019年的国赛优秀论文+2020年数学建模论文心得---数学建模友友必看
- 面试官:如何实现扫码登录功能?
- 高精度地图Lanelet的基本结构
- 图像处理———图像的几何变换原理及实现
- 计算机修改wif教程,电脑修改wifi密码步骤
- pta一元多项式求导
- Android_版本对应
- 单位办公电脑声音和摄像头被关闭,如何打开笔记本麦克风和摄像头。
热门文章
- java gzip 解压文件_Java实现文件压缩与解压[zip格式,gzip格式]
- 3dsmax子菜单无法选择_3DsMax—用平面图片制作3D模型
- python opencv 图像添加噪声_opencv+python同时加椒盐噪声和随机杂点噪声
- setnx是原子操作吗_谈谈Volatile关键字?为什么不能保证原子性?用什么可以替代?为什么?...
- java使用教程——组件及事件处理——常用组件与布局
- JS中this的应用场景,再了解下apply、call和bind!
- Java计算时间差_传统的SimpleDateFormat类
- [C++11]推荐使用auto的场景
- 蓝桥杯2015初赛-方程整数解-枚举
- 给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构(算法导论第十章10.4-3)