月月给华华出题

思路

∑i=1nigcd(i,n)\sum_{i = 1} ^{n} \frac{i}{gcd(i, n)}i=1∑n​gcd(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∑n​di​(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∑dn​​i(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:月月给华华出题(欧拉函数)相关推荐

  1. 牛客小白月赛12 D 月月给华华出题 (欧拉函数,数论,线筛)

    链接:https://ac.nowcoder.com/acm/contest/392/D 来源:牛客网 月月给华华出题 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K, ...

  2. 牛客小白月赛12 J 月月查华华的手机 (序列自动机模板题)

    链接:https://ac.nowcoder.com/acm/contest/392/J 来源:牛客网 题目描述 月月和华华一起去吃饭了.期间华华有事出去了一会儿,没有带手机.月月出于人类最单纯的好奇 ...

  3. 牛客小白月赛12 H 华华和月月种树 (离线dfs序+线段树)

    链接:https://ac.nowcoder.com/acm/contest/392/H 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 131072K,其他语言2621 ...

  4. 牛客小白月赛12 C 华华给月月出题 (积性函数,线性筛)

    链接:https://ac.nowcoder.com/acm/contest/392/C 来源:牛客网 华华给月月出题 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K, ...

  5. 牛客小白月赛12 I 华华和月月逛公园 (tarjian 求桥)

    链接:https://ac.nowcoder.com/acm/contest/392/I 来源:牛客网 华华和月月逛公园 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K, ...

  6. 华华给月月出题——牛客小白月赛12

    碰到个积性函数好题. 华华给月月出题:https://ac.nowcoder.com/acm/problem/23047 题目描述 华华刚刚帮月月完成了作业.为了展示自己的学习水平之高超,华华还给月月 ...

  7. 牛客小白月赛12 B.华华教月月做数学(Java)

    华华教月月做数学 题目链接:https://ac.nowcoder.com/acm/contest/392/B 题目描述 找到了心仪的小姐姐月月后,华华很高兴的和她聊着天.然而月月的作业很多,不能继续 ...

  8. 牛客小白月赛12 F 华华开始学信息学 (分块+树状数组)

    链接:https://ac.nowcoder.com/acm/contest/392/F 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语言65536 ...

  9. 牛客小白月赛7 I.新建 Microsoft Office Word 文档

    牛客小白月赛7 I.新建 Microsoft Office Word 文档 题目链接 题目描述 CSL正在学习<计算机办公自动化>文件的建立与删除. CSL发现,当他新建一个word文档时 ...

最新文章

  1. RNA-Seq入门  如何跑通一个Rna-Seq流程
  2. 怎么把项目推到gitlab上_将本地项目添加到 GitLab 上管理
  3. shell脚本 转 二进制执行文件
  4. Servlet+Tomcat制作出第一个运行在Tomcat上的Java应用程序
  5. vuejs mvvm图解
  6. 任务发布页面html,HTML5 Todo List(待办事项/任务列表管理界面)
  7. 第六十二节,html分组元素
  8. lua 差值 日期_lua时间戳和日期转换及踩坑
  9. ArcGIS for Desktop 10.2安装破解与使用图文详解
  10. JS逆向day01-青果教务系统登录接口
  11. 计算机考研统考压分吗,担忧!考研初试会被压分吗?
  12. 百度语音识别结合云知声离线TTSDemo(AS)
  13. 欧拉降幂公式(扩展欧拉定理)证明
  14. 使用fir im进行内测托管
  15. matlab 高级绘图函数
  16. 空间数据库之矢量数据上载方法
  17. 百度也能直播带货!12小时——“慢行”才能持久
  18. python画蛋糕祝福图片大全_蛋糕画画图片大全_简单的简笔画图片大全
  19. 黄金的18K和24K是什么意思
  20. BMS数据格式规范【BMS Format Specification】

热门文章

  1. android中文离线api_比林肯法球Linken sphere浏览器更多更新指纹的国产防关联软件-VMLogin中文版浏览器...
  2. 5.7.21mysql数据库_【数据库】mysql5.7.21 winx64安装配置图文分享
  3. sql limit不接具体数字_这21个写SQL的好习惯,你要养成呀
  4. “对不起,我们只招父母毕业于名牌院校的孩子”:最可怕的,是你还以为学历不重要...
  5. 不当败家子的原因......
  6. 叫板BBC!80后湖南姑娘,花3年首次拍出水下的中国,惊艳了全世界
  7. 致家长:疫情期间教育好自己的孩子,就是你最重要的事业!
  8. 怎样借助Python爬虫给宝宝起个好名字
  9. 多个php一个机器,如何利用docker在同一台机器上搭建多套php开发环境?
  10. 与ln的指数转化公式_高考数学48条秒杀型公式与方法