最大公约数之和

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=26&problem=2421&mosmsg=Submission+received+with+ID+18788108

输入n 输出gcd(i,j) 1<=i<j<=n总和

 1 #include <iostream>
 2 using namespace std;
 3 #define REP(i, x, n) for(int i = x; i < n; i++)
 4 #define ll long long
 5 const int maxn = 4000005;
 6 int phi[maxn], p[maxn];
 7 ll f[maxn], s[maxn];
 8 bool vis[maxn];
 9 void Euler(int n){
10     int i, j, k, cnt = 0;
11     phi[1] = 1;
12     for (i = 2; i < n; ++i){
13         if (!vis[i]){
14             p[cnt++] = i;
15             phi[i] = i - 1;
16         }
17         for (j = 0; j < cnt && i * p[j] < n; ++j){
18             vis[i * p[j]] = true;
19             if (i % p[j]) phi[i * p[j]] = phi[i] * phi[p[j]];
20             else {
21                 phi[i * p[j]] = phi[i] * p[j];
22                 break;
23             }
24         }
25     }
26 }
27 int main(){
28     Euler(maxn);
29     REP(i, 1, maxn){
30         for(int j = i*2; j < maxn; j += i){
31             f[j] += i * phi[j/i];
32         }
33     }
34     s[2] = f[2];
35     REP(i, 3, maxn) s[i] = s[i-1] + f[i];
36     int n;
37     while(scanf("%d", &n) && n){
38         printf("%lld\n", s[n]);
39     }
40     return 0;
41 }

只有不断学习才能进步!

转载于:https://www.cnblogs.com/wenbao/p/6407414.html

wenbao与数论(大白书)相关推荐

  1. 大白书 1.3节 高效算法设计举例

    大白书 1.3节 高效算法设计举例 例题 17 UVA 11462 简单题,注意那个数值的范围是100以内就可以了. #include <cstdio> #include <cstr ...

  2. 大白书中无向图的点双联通分量(BCC)模板的分析与理解

    对于一个无向图,如果任意两点至少存在两条点不重复(除起点和终点外无公共点)的路径,则这个图就是点双联通. 这个要求等价于任意两条边都存在于一个简单环(即同一个点不能在圈中出现两次)中,即内部无割点. ...

  3. 紫书的训练计划——一点点来,坚持到底!

    先做  第10章3  数论的一点补充. 然后趁热温习  10.1 和10.2 (可能会有重的题目) (期望,概率的题目还要过段时间回来补坑) 然后  第7.8.1,8.2 章做暴力求解和高效算法(可以 ...

  4. POJ 3154 Graveyard【多解,数论,贪心】

    Graveyard Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 1707   Accepted: 860   Specia ...

  5. 数论基础之中国剩余定理(附证明)

    前言 一直觉得中国剩余定理很难,因为怕麻烦一直没有去搞,直到区域赛网络赛在即,直到--退役赛在即.(果然DDL是原生动力,可能是爱得不够深吧)学了一下,觉得其实也没那么难,如果理解不了证明的话,看懂每 ...

  6. 洛谷---数学---数论

    洛谷---数学---数论 http://www.luogu.org 单看 数学 数论 的书,纯理论,看不进,决定还是从做题开始,不明白的地方再看书,以上机训练,促进看书,同样 从 简单--->难 ...

  7. Uvalive 3523 - Knights of the Round Table (双连通分量+二分图)

    题目链接 https://vjudge.net/problem/UVALive-3523 [题意] 有n个骑士经常举行圆桌会议,每次圆桌会议应至少有3个人参加且人数必须是奇数,相互憎恨的骑士不能坐在圆 ...

  8. UVa 11732 (Tire树) strcmp() Anyone?

    这道题也是卡了挺久的. 给出一个字符串比较的算法,有n个字符串两两比较一次,问一共会有多少次比较. 因为节点会很多,所以Tire树采用了左儿子右兄弟的表示法来节省空间. 假设两个不相等的字符串的最长公 ...

  9. UVA11825: Hackers' Crackdown (状压dp)

    题意:有n台计算机,每台有n种服务.每台计算机有m个邻居,停止某台计算某个服务时,它邻居的相应服务也会停止,现在每台计算机可以选择停止其中一项服务,目标是让尽量多的服务停止(所有计算机都停止该服务). ...

最新文章

  1. B-tree结构菜单的递归查询
  2. Web访问RabbitMQ
  3. 测试无线节能信标与主控器之间的控制功能
  4. 【AHOI2005】病毒检测
  5. scala简单学习---1
  6. 循环神经网络-Dropout
  7. Python 学习笔记(3)对txt文件的读与写操作(下)
  8. 11.InfluxDB引擎原理
  9. 电脑显示无法连接sql服务器,他人的电脑为什么无法连接我电脑上的sql sever服务器...
  10. Python Tricks(二十)—— 阶乘的极简实现
  11. Ubuntu16.04 LTS无法开启无线网开关的解决方法(联想Y7000)
  12. 苹果开发者账号双重认证
  13. php 786.00,美國佛羅裡達州區號786
  14. 【数据挖掘】啤酒与尿布
  15. 我这些年我用过的12 个企业级开源系统,亲测非常好用,非常适合公司开发
  16. 成为软件工程师之前,你必须了解这些
  17. CDN 缓存与浏览器缓存
  18. 题目内容: 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表示摄氏温度,F表示华氏温度。 程序的输入是一个整数,表示华氏温度。输出对
  19. markdown中关于空格缩进的问题
  20. 中西宗教精神之比较研究

热门文章

  1. leetcode 144. Binary Tree Preorder Traversal ----- java
  2. Cordic的学习之硬件实现
  3. qemu a fast and portable dynamic translator——大致翻译
  4. 如何使用Windows OVERLAPPED优化你的应用
  5. 基于SkyEye的覆盖率测试
  6. 2021-06-01 深入分析偏向锁、轻量级锁和重量级锁
  7. java fastdfs 压测_利用jmeter+JAVA对RPC的单接口(dubbo接口等)进行性能测试,零基础(2)...
  8. (43)生成时钟Generated Clock简介
  9. (60)UART外设驱动发送驱动(五)(第12天)
  10. (34)System Verilog引用包中定义的类(失败)