Mobius反演定理-BZOJ2154
This article is made by Jason-Cow.
Welcome to reprint.
But please post the article's address.
莫比乌斯定理(未完待续......):
形式1:
形式2:
引理:
证明1:
右边=带入左边等式,得
又
当且仅当 :
,即
时,上式非
所以,成立。
bzoj2154
时间复杂度
换元:令

/*


*/

此题的精髓就一个字,模
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <vector>
#include <cmath>
#include <queue>
#include <map>
#include <set>
using namespace std;
#define file(x) freopen(x".in","r",stdin),freopen(x".out","w",stdout) const int mod=,maxn=1e7+;
int f[maxn],p[maxn],flag[maxn],cnt,S[maxn];
void init(int n,int m){
f[]=;
for(int i=;i<=n;i++) {
if(!flag[i])p[++cnt]=i,f[i]=(-i)%mod;
for(int j=;j<=cnt && i*p[j]<=n;j++) {
flag[i*p[j]]=;
if(i%p[j]==){f[i*p[j]]=f[i]%mod;break;}
f[i*p[j]]=((long long)(f[i]%mod)*(f[p[j]]%mod))%mod;
}
}
for(int i=;i<=m;i++)S[i]=((S[i]%mod)+((S[i-]+i)%mod))%mod;
} int main(){
int n,m;scanf("%d%d",&n,&m);if(n>m)swap(n,m);
init(n,m);
int ans=;
for(int Q=;Q<=n;Q++)
ans=(ans+(((Q%mod)*(long long)f[Q]*(((long long)S[n/Q]*S[m/Q])%mod))%mod)%mod)%mod;
printf("%d\n",(ans+mod)%mod);
return ;
}
Mobius反演定理-BZOJ2154的更多相关文章
- Bzoj-2301 [HAOI2011]Problem b 容斥原理,Mobius反演,分块
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2301 题意:多次询问,求有多少对数满足 gcd(x,y)=k, a<=x<=b ...
- Mobius反演学习
这篇文章参考了许多资料和自己的理解. 先放理论基础. 最大公约数:小学学过,这里只提一些重要的公式: $·$若$a=b$,则$\gcd(a,b)=a=b$: $·$若$\gcd(a,b)=d$,则$\ ...
- YY的GCD
YY的GCD 给出T个询问,询问\(\sum_{i=1}^N\sum_{j=1}^M(gcd(i,j)\in prime)\),T = 10000,N, M <= 10000000. 解 显然质 ...
- Crash的数字表格
Crash的数字表格 求\(\sum_{i=1}^N\sum_{j=1}^Mlcm(i,j)\) 解 设\(N<M\),显然有 \[\sum_{i=1}^N\sum_{j=1}^M\frac{i ...
- Longge's problem
Longge's problem 求\(\sum_{i=1}^ngcd(i,n)\),\(n< 2^{31}\). 解 理解1: 注意式子的实际意义,显然答案只可能在n的约数中,而现在问题变成了 ...
- Sky Code
Sky Code 给出n个数,求选出4个数组合,使其gcd为1,,\(n<=10000\),每个数\(<=10000\). 解 理解1:容斥原理 注意到Mobius反演式子不好写出,于是我 ...
- LJJ爱数数
LJJ爱数数 求\(\sum_{i=1}^n\sum_{j=1}^n\sum_{k=1}^n\epsilon(gcd(i,j,k))(\frac{1}{i}+\frac{1}{j}==\frac{1} ...
- [bzoj2154]Crash的数字表格(mobius反演)
题意:$\sum\limits_{i = 1}^n {\sum\limits_{j = 1}^m {lcm(i,j)} } $ 解题关键: $\sum\limits_{i = 1}^n {\sum\l ...
- SPOJ-7001 VLATTICE 莫比乌斯反演定理
题目链接:http://www.spoj.com/problems/VLATTICE/ 题意:求gcd(x,y,z)=1,1<=x,y,z<=n,的个数. 开始做的时候枚举gcd(x,y) ...
随机推荐
- C语言 Char* 和Char 用法
分类专栏: C语言 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/imxlw00/ar ...
- yarn 不要一起用 npm
yarn 不要一起用 npm 如果一起用,看下lock 的版本一样不,不一样可能会出现问题
- 杭电oj2037——今年暑假不AC(java实现)
思路:标准贪心 先把所有思路列出来: 1.优先选择开始时间最早的,经分析,不可行 2.优先选择持续时间最短的,经分析,不可行 3.优先选择结束时间最早的,经分析,可行 然后根据第三种思路实现代码就好 ...
- PHP获取小程序码并返回前端显示图片
小程序的二维码分为小程序码和二维码: 生成小程序二维码文档中说后端来生成. 参考 小程序开发文档资料:https://developers.weixin.qq.com/miniprogram/dev/ ...
- glog入门demo
glog 一. 下载与安装 git clone https://github.com/google/glog.git cd glog ./autogen.sh ./configure make mak ...
- Windows ThinPC 7 部署后续设置与本地化
还原注销背景 %system32%\oobe\info\backgrounds 删除该目录下所有文件后变为wes7背景 24时制与非UNICODE字符乱码解决 Control Panel \ Regi ...
- c++/cli mixed codes for standard c++ and csharp
混合DotNet与Win32API来实现的Hidlibrary,c/c++可直接使用,c#可直接使用 异步IO,拔插事件订阅,数据读取事件订阅 工程目录结构 HidEvent.h #pragma on ...
- Date、DateFormat、Calendar、Math、System
Date(基本已过时了,被Calendar替换) 构造方法(有两个) Date(); Date(long l);long类型的毫秒值 常用方法(其他方法都已被Calendar替换) getTime() ...
- IDEA与Tomcat相关配置
idea会为每一个Tomcat部署的项目,独立建一份配置文件. 配置文件所在位置 怎么部署的(查看虚拟目录)使用的第三种部署方式 部署项目存放的路径 项目目录和Tomcat部署目录 Tomcat真正访 ...
- [NOIP2018(PJ)] 摆渡车
题目链接 题意 有 $n$ 个同学在等车,每位同学从某时刻开始等车,相邻两趟车之间至少间隔 $m$ 分钟.凯凯可以任意安排发车时间,求所有同学等车时间之和的最小值. 分析 这题首先能想到是动态规划 很 ...