牛客小白月赛12:月月给华华出题(欧拉函数)
月月给华华出题
思路
∑i=1nigcd(i,n)\sum_{i = 1} ^{n} \frac{i}{gcd(i, n)}i=1∑ngcd(i,n)i
=∑d∣n∑i=1nid(gcd(i,d)==d)= \sum _{d \mid n} \sum_{i = 1} ^{n} \frac{i}{d} (gcd(i, d) == d)=d∣n∑i=1∑ndi(gcd(i,d)==d)
=∑d∣n∑i=1ndi(gcd(i,d)==1)= \sum_{d\mid n} \sum_{i = 1} ^{\frac{n}{d}} i(gcd(i, d) == 1)=d∣n∑i=1∑dni(gcd(i,d)==1)
=∑d∣nnd∗ϕ(nd)2= \sum_{d \mid n} \frac{\frac{n}{d} * \phi(\frac{n}{d})} {2}=d∣n∑2dn∗ϕ(dn)
结果就出来了,我们只要仿照埃氏筛法,统计一遍答案就行了。
代码
/*Author : lifehappy
*/
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include <bits/stdc++.h>#define mp make_pair
#define pb push_back
#define endl '\n'
#define mid (l + r >> 1)
#define lson rt << 1, l, mid
#define rson rt << 1 | 1, mid + 1, r
#define ls rt << 1
#define rs rt << 1 | 1using namespace std;typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;const double pi = acos(-1.0);
const double eps = 1e-7;
const int inf = 0x3f3f3f3f;inline ll read() {ll x = 0, f = 1; char c = getchar();while(c < '0' || c > '9') {if(c == '-') f = -1;c = getchar();}while(c >= '0' && c <= '9') {x = (x << 1) + (x << 3) + (c ^ 48);c = getchar();}return x * f;
}const int N = 5e6 + 10;int phi[N], n;bool st[N];vector<int> prime;ll sum[N], ans[N];void init() {st[0] = st[1] = 1;phi[1] = 1, sum[1] = 1;//注意把sum[1]置为1,特判。for(int i = 2; i < N; i++) {if(!st[i]) {prime.pb(i);phi[i] = i - 1;sum[i] = 1ll * i * phi[i] / 2;}for(int j = 0; j < prime.size() && i * prime[j] < N; j++) {st[i * prime[j]] = 1;if(i % prime[j]) {phi[i * prime[j]] = phi[i] * (prime[j] - 1);sum[i * prime[j]] = 1ll * phi[i * prime[j]] * (i * prime[j]) / 2;}else {phi[i * prime[j]] = phi[i] * prime[j];sum[i * prime[j]] = 1ll * phi[i * prime[j]] * (i * prime[j]) / 2;break;}}}for(int i = 1; i < N; i++) {for(int j = i; j < N; j += i) {ans[j] += sum[i];}}
}int main() {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);init();n = read();for(int i = 1; i <= n; i++)cout << ans[i] << "\n";return 0;
}
牛客小白月赛12:月月给华华出题(欧拉函数)相关推荐
- 牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)
链接:https://ac.nowcoder.com/acm/contest/392/D 来源:牛客网 月月给华华出题 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K, ...
- 牛客小白月赛12 J 月月查华华的手机 (序列自动机模板题)
链接:https://ac.nowcoder.com/acm/contest/392/J 来源:牛客网 题目描述 月月和华华一起去吃饭了.期间华华有事出去了一会儿,没有带手机.月月出于人类最单纯的好奇 ...
- 牛客小白月赛12 H 华华和月月种树 (离线dfs序+线段树)
链接:https://ac.nowcoder.com/acm/contest/392/H 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K,其他语言2621 ...
- 牛客小白月赛12 C 华华给月月出题 (积性函数,线性筛)
链接:https://ac.nowcoder.com/acm/contest/392/C 来源:牛客网 华华给月月出题 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K, ...
- 牛客小白月赛12 I 华华和月月逛公园 (tarjian 求桥)
链接:https://ac.nowcoder.com/acm/contest/392/I 来源:牛客网 华华和月月逛公园 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K, ...
- 华华给月月出题——牛客小白月赛12
碰到个积性函数好题. 华华给月月出题:https://ac.nowcoder.com/acm/problem/23047 题目描述 华华刚刚帮月月完成了作业.为了展示自己的学习水平之高超,华华还给月月 ...
- 牛客小白月赛12 B.华华教月月做数学(Java)
华华教月月做数学 题目链接:https://ac.nowcoder.com/acm/contest/392/B 题目描述 找到了心仪的小姐姐月月后,华华很高兴的和她聊着天.然而月月的作业很多,不能继续 ...
- 牛客小白月赛12 F 华华开始学信息学 (分块+树状数组)
链接:https://ac.nowcoder.com/acm/contest/392/F 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 牛客小白月赛7 I.新建 Microsoft Office Word 文档
牛客小白月赛7 I.新建 Microsoft Office Word 文档 题目链接 题目描述 CSL正在学习<计算机办公自动化>文件的建立与删除. CSL发现,当他新建一个word文档时 ...
最新文章
- RNA-Seq入门 如何跑通一个Rna-Seq流程
- 怎么把项目推到gitlab上_将本地项目添加到 GitLab 上管理
- shell脚本 转 二进制执行文件
- Servlet+Tomcat制作出第一个运行在Tomcat上的Java应用程序
- vuejs mvvm图解
- 任务发布页面html,HTML5 Todo List(待办事项/任务列表管理界面)
- 第六十二节,html分组元素
- lua 差值 日期_lua时间戳和日期转换及踩坑
- ArcGIS for Desktop 10.2安装破解与使用图文详解
- JS逆向day01-青果教务系统登录接口
- 计算机考研统考压分吗,担忧!考研初试会被压分吗?
- 百度语音识别结合云知声离线TTSDemo(AS)
- 欧拉降幂公式(扩展欧拉定理)证明
- 使用fir im进行内测托管
- matlab 高级绘图函数
- 空间数据库之矢量数据上载方法
- 百度也能直播带货!12小时——“慢行”才能持久
- python画蛋糕祝福图片大全_蛋糕画画图片大全_简单的简笔画图片大全
- 黄金的18K和24K是什么意思
- BMS数据格式规范【BMS Format Specification】
热门文章
- android中文离线api_比林肯法球Linken sphere浏览器更多更新指纹的国产防关联软件-VMLogin中文版浏览器...
- 5.7.21mysql数据库_【数据库】mysql5.7.21 winx64安装配置图文分享
- sql limit不接具体数字_这21个写SQL的好习惯,你要养成呀
- “对不起,我们只招父母毕业于名牌院校的孩子”:最可怕的,是你还以为学历不重要...
- 不当败家子的原因......
- 叫板BBC!80后湖南姑娘,花3年首次拍出水下的中国,惊艳了全世界
- 致家长:疫情期间教育好自己的孩子,就是你最重要的事业!
- 怎样借助Python爬虫给宝宝起个好名字
- 多个php一个机器,如何利用docker在同一台机器上搭建多套php开发环境?
- 与ln的指数转化公式_高考数学48条秒杀型公式与方法