HDU 6134 Battlestation Operational | 2017 Multi-University Training Contest 8



破结论没听说过,上式推导到第三步的时候有了O(nlogn) 的做法(枚举倍数+1最后前缀和),并且这种做法可以直接应用到向上取整的计算中,详见forever97
但由于d(n)是积性函数,故可O(n)求

代码参考这里
#include <bits/stdc++.h>
using namespace std;
#define LL long long
const int N = 1e6+5;
const LL MOD = 1e9+7;
LL f[N], g[N];
void init()
{
for (int i = 1; i < N; i++)
for (int j = i; j < N; j += i)
g[j] += 1;
for (int i = 1; i < N; i++) g[i] = (g[i] + g[i-1]) % MOD;
for (int i = 1; i < N; i++) f[i] = (g[i-1] + i) % MOD;
for (int i = 1; i < N; i++)
for (int j = i+i; j < N; j += i)
f[j] = (f[j] + MOD - f[i]) % MOD;
for (int i = 1; i < N; i++) f[i] = (f[i] + f[i-1]) % MOD;
}
int main()
{
init(); int n;
while (~scanf("%d", &n))
{
printf("%lld\n", f[n]);
}
}
HDU 6134 Battlestation Operational | 2017 Multi-University Training Contest 8的更多相关文章
- hdu 6134: Battlestation Operational  (2017 多校第八场 1002)【莫比乌斯】
		题目链接 比赛时没抓住重点,对那个受限制的“分数求和”太过关心了..其实如果先利用莫比乌斯函数的一个性质把后面那个[gcd(i,j)=1]去掉,那么问题就可以简化很多.公式如下 这和之前做过的一道题很 ... 
- 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(莫比乌斯反演)
		[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6134 [题目大意] 求$\sum_{i=1}^{n}{\sum_{j=1}^{i}\lceil{\ ... 
- 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 (莫比乌斯反演+埃式筛)
		Problem Description > The Death Star, known officially as the DS-1 Orbital Battle Station, also ... 
- HDU 6170 - Two strings   |  2017 ZJUT Multi-University Training 9
		/* HDU 6170 - Two strings [ DP ] | 2017 ZJUT Multi-University Training 9 题意: 定义*可以匹配任意长度,.可以匹配任意字符,问 ... 
- hdu 6301 Distinct Values (2018 Multi-University Training Contest 1 1004)
		Distinct Values Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ... 
- hdu 5288 OO’s Sequence(2015 Multi-University Training Contest 1)
		OO's Sequence Time Limit: 4000/2000 MS (Jav ... 
随机推荐
- Hadoop学习(6)-HBASE的安装和命令行操作和java操作
			使用HABSE之前,要先安装一个zookeeper 我以前写的有https://www.cnblogs.com/wpbing/p/11309761.html 先简单介绍一下HBASE HBASE是一个 ... 
- 数组、可变参数 、this关键字 (札记)
			Thinking in java 读书笔记(P84 ~ P104) 作者:淮左白衣 写于:2018年4月10日16:42:57 目录 this 为什么可以代表调用对象 数组 数组中的 length 定 ... 
- xv6解析-- 多处理器操作
			xv6可以运行多cpu的计算机上,这个os使用mycpu函数来标识初当前的cpu,使用struct cpu结构体来记录当前的CPU状态.使用cpus这些状态存放于cpus数组中,使用ncpu来标志cp ... 
- Linux文件删除,但是df -hT之后磁盘空间没有释放
			Linux 磁盘空间总是报警,查到到大文件,删除之后,df看到磁盘空间并没有释放. 查找了下发现系统对rm进行了alias ,因为Linux对删除操作没有回收站机制,对rm操作进行了自定义,对删除 ... 
- Codeforces 666E Forensic Examination(广义后缀自动机+线段树合并)
			将所有串(包括S)放一块建SAM.对于询问,倍增定位出该子串所在节点,然后要查询的就是该子串在区间内的哪个字符串出现最多.可以线段树合并求出该节点在每个字符串中的出现次数. #include<b ... 
- hdu 6205 card card card 尺取法
			card card card Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ... 
- Mysql连接数设置
			在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是 ... 
- 关于element ui滚动条使用
			element ui 自带的滚动条使用 在容器的直接外层添加 (需要展现滚动条的那一级) <el-scrollbar style="height:100%"></ ... 
- vue之生命周期与导航守卫
			组件钩子函数: beforeCreate.created.beforeMount.mounted.beforeUpdate.updated.beforeDestroy.destoryed 还有两个特殊 ... 
- 逐步探究ObjC的Weak技术底层
			前言 之前的文章有说过 Atomic 原子操作的原理,其作为一个特殊的修饰前缀,影响了存取操作. 在属性修饰定义中,还有另一类修饰前缀,他们分别是 strong weak assign copy,这些 ... 
