HDU 6134 Battlestation Operational(莫比乌斯反演)
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=6134
【题目大意】
求$\sum_{i=1}^{n}{\sum_{j=1}^{i}\lceil{\frac{i}{j}}\rceil}[ (i,j)==1 ]$
【题解】
设 $g(i)=\sum_{i=1}^{n}{\sum_{j=1}^{i}\lceil{\frac{i}{j}}\rceil}$,$h(i)=\sum_{i=1}^{n}{\sum_{j=1}^{i}\lceil{\frac{i}{j}}\rceil}[ (i,j)==1 ]$
有 $g(i)=\sum_{d|i}{\sum_{j=1}^{\frac{i}d}\lceil\frac{i}{d*j}\rceil}[ (i,j*d)==d ]$
$=\sum_{d|i}{\sum_{j=1}^{\frac{i}d}\lceil\frac{\frac{i}d}{j}}\rceil[ (\frac{i}d,j)==1 ]$
$=\sum_{d|i}h(\frac{i}d)$
$=\sum_{d|i}h(d)$
所以有$h(i)=\sum_{d|i}\mu(d)*g(\frac{i}d)$
考虑如何计算 $g(i)$
我们发现$i$对于$i$贡献为$1$,$i+1$到$2*i$贡献为$2$,$2*i+1$到$3*i$贡献为$3$……
贡献为区间更新,因此我们可以用差分数列统计,计算出$g(i)$之后,反演计算$h(i)$即可。
【代码】
#include <cstdio>
#include <algorithm>
using namespace std;
const int N=1000010;
typedef long long LL;
const LL P=1000000007LL;
int tot,p[N],miu[N],v[N];
void Mobius(int n){
int i,j;
for(miu[1]=1,i=2;i<=n;i++){
if(!v[i])p[tot++]=i,miu[i]=-1;
for(j=0;j<tot&&i*p[j]<=n;j++){
v[i*p[j]]=1;
if(i%p[j])miu[i*p[j]]=-miu[i];else break;
}
}
}
LL sum[N],ans[N];
void AddMod(LL &a,LL b){a+=b;if(a>=P)a-=P;if(a<0)a+=P;}
void Init(int n){
for(int j=1;j<=n;j++){ans[j]++;for(int i=j;i<=n;i+=j)ans[i+1]++;}
for(int i=1;i<=n;i++)AddMod(ans[i],ans[i-1]);
for(int j=1;j<=n;j++){if(miu[j])for(int i=j;i<=n;i+=j)AddMod(sum[i],miu[j]*ans[i/j]);}
for(int i=1;i<=n;i++)AddMod(sum[i],sum[i-1]);
}
int n;
int main(){
Mobius(1000000);
Init(1000000);
while(~scanf("%d",&n))printf("%d\n",sum[n]);
return 0;
}
HDU 6134 Battlestation Operational(莫比乌斯反演)的更多相关文章
- hdu 6134 Battlestation Operational 莫比乌斯反演
Battlestation Operational Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- 2017多校第8场 HDU 6134 Battlestation Operational 莫比乌斯反演
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6134 题意: 解法: 那么g(n)怎么求,我们尝试打表发现g(n)是有规律的,g(n)=g(n-1)+ ...
- hdu 6134 Battlestation Operational (莫比乌斯反演+埃式筛)
Problem Description > The Death Star, known officially as the DS-1 Orbital Battle Station, also ...
- 2017ACM暑期多校联合训练 - Team 8 1002 HDU 6134 Battlestation Operational (数论 莫比乌斯反演)
题目链接 Problem Description The Death Star, known officially as the DS-1 Orbital Battle Station, also k ...
- hdu 6134: Battlestation Operational (2017 多校第八场 1002)【莫比乌斯】
题目链接 比赛时没抓住重点,对那个受限制的“分数求和”太过关心了..其实如果先利用莫比乌斯函数的一个性质把后面那个[gcd(i,j)=1]去掉,那么问题就可以简化很多.公式如下 这和之前做过的一道题很 ...
- HDU 6134 Battlestation Operational | 2017 Multi-University Training Contest 8
破结论没听说过,上式推导到第三步的时候有了O(nlogn) 的做法(枚举倍数+1最后前缀和),并且这种做法可以直接应用到向上取整的计算中,详见forever97 但由于d(n)是积性函数,故可O(n) ...
- hdu6134 Battlestation Operational 莫比乌斯第一种形式
/** 题目:hdu6134 Battlestation Operational 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6134 题意:f(n) = ...
- HDU 5321 Beautiful Set (莫比乌斯反演 + 逆元 + 组合数学)
题意:给定一个 n 个数的集合,然后让你求两个值, 1.是将这个集合的数进行全排列后的每个区间的gcd之和. 2.是求这个集合的所有的子集的gcd乘以子集大小的和. 析:对于先求出len,len[i] ...
- HDU 4746 Mophues【莫比乌斯反演】
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4746 题意: 1≤x,y≤n , 求gcd(x,y)分解后质因数个数小于等k的(x,y)的对数. 分 ...
随机推荐
- java对象与json互转
package com.liveyc; import java.io.StringWriter; import org.junit.Test; import com.fasterxml.jackson ...
- Sublime之插件的安装(二)
前不久的文章里面,有讲过关于sublime插件的具体的安装,这里就不多说了~ 在使用sublime进行打开html页面的时候,是不是经常右击-->view in brower,是不是用多了感觉很 ...
- MUI上传文件的方法
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- docker 升级后,配置 idea 连接 docker
[root@A01-R02-I188-87 ~]# docker version Client: Version: 18.06.1-ce API version: 1.24 Go version: g ...
- 24 - 面向对象基础-多继承-super-mro-Mixin
目录 1 类的继承 2 不同版本的类 3 基本概念 4 特殊属性和方法 5 继承中的访问控制 6 方法的重写(override) 6.1 super 6.2 继承中的初始化 7 多继承 7.1 多继承 ...
- .NET 处理视频-MediaInfo 获取视频信息
获取视频信息的组件很多,本节介绍的是:MediaFile. 第一步.添加 MediaInfoDotNet 在项目上右键,选择“管理 NuGet 程序包”,浏览以选中 MediaInfoDotNet,然 ...
- VI编辑,配置文件
1,VI编辑 vi 分为3种模式 1>一般模式: [Ctrl + f ] 下一页 [Ctrl + b ] 上一页 [n+ enter] 向下移动n行 eg:2 ...
- 《深入理解Java虚拟机》笔记--第十二章、Java内存模型与线程
主要内容:虚拟机如何实现多线程.多线程之间由于共享和竞争数据而导致的一系列问题及解决方案. Java内存模型: Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储 ...
- 苹果容器超出内容overflow滑动卡顿问题
-webkit-overflow-scrolling:touch; 就这么一段代码,加载需要滚动的容器css样式中.因为苹果的硬件加速产生的后果....
- H5移动端视频问题(苹果全屏播放问题等)
iphone上,手动.自动.窗口化等问题 iphone窗口化 解决方案: 通过canvas + video标签结合处理 原理: 获取video的原图帧,通过canavs绘制到页面. 我们一般在苹果上在 ...