2190: [SDOI2008]仪仗队

Time Limit: 10 Sec  Memory Limit: 259 MB
Submit: 3203  Solved: 2062
[Submit][Status][Discuss]

Description

  作为体育委员,C君负责这次运动会仪仗队的训练。仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图)。       现在,C君希望你告诉他队伍整齐时能看到的学生人数。

Input

  共一个数N。

Output

  共一个数,即C君应看到的学生人数。

Sample Input

  4

Sample Output

  9

HINT

【数据规模和约定】   对于 100% 的数据,1 ≤ N ≤ 40000

/*
可以将最左下的点标为(0,0), 那么显然如果存在一个点(x,y), 且有gcd(x; y) = k (k .= 1),
那么点(x/k,y/k) .定会将点(x,y) 挡住.
如果k = 1, 那么点(x, y) .定会被看到
所以点(x, y)被看到的充分必要条件是Gcd(x, y) == 1;
我们考察矩阵的下三角形,考察他的每一行,可以发现,这一行能够被看到的点的数目就是phi(x)
答案不难发现是∑(phi[x])*2+1(容斥原理)
*/ #include<iostream>
#include<cstdio>
#include<cstring>#define N 50007using namespace std;
int prime[N];
bool not_prime[N];
int n,ans,tot=1;void pr_()
{prime[1]=2;not_prime[1]=true;for(int i=2;i<=N;i++){if(!not_prime[i]) prime[++tot]=i;for(int j=1;j<=tot && i*prime[j]<=N;j++){not_prime[i*prime[j]]=true;if(i%prime[j]) break;}}
}int get_phi(int x)
{int ret=1;for(int i=1;prime[i]*prime[i]<=x;i++){if(x%prime[i]==0){ret*=prime[i]-1;x/=prime[i];while(x%prime[i]==0) x/=prime[i],ret*=prime[i];}}if(x>1) ret*=x-1;return ret;
}int main()
{scanf("%d",&n);pr_();for(int i=1;i<n;i++) ans+=get_phi(i);ans*=2;ans+=1;printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/L-Memory/p/7241727.html

bzoj2190 [SDOI2008]仪仗队(欧拉函数)相关推荐

  1. 「BZOJ2190」[SDOI2008] 仪仗队 - 欧拉函数

    ->点我进原题 [SDOI2008] 仪仗队 时空限制 1000ms / 128MB Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵, ...

  2. BZOJ 2190: [SDOI2008]仪仗队( 欧拉函数 )

    假设C君为(0, 0), 则右上方为(n - 1, n - 1). 一个点(x, y) 能被看到的前提是gcd(x, y) = 1, 所以 answer = ∑ phi(i) * 2 + 2 - 1 ...

  3. 【bzoj2186】[Sdoi2008]沙拉公主的困惑 欧拉函数

    题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现在所有真钞票的 ...

  4. 数论讨伐!欧拉函数!

    [欧拉函数] 任务开始. 什么是欧拉函数?我们又怎么求呢??? 此次任务的主要怪物:欧拉函数 (1)欧拉函数定义 欧拉函数嘛,当然是我们著名的莱昂哈德·欧拉发明的啦~那么他是怎么定义介个函数滴? 咳咳 ...

  5. 数论之互质与欧拉函数

    文章开始前先给大家安利我学长以前写的数论的blog:aliayc 文章目录 互质 欧拉函数 质因数分解求欧拉函数 筛法求欧拉函数 性质 积性函数 定义 性质 题目 互质 定义 ∀ a , b ∈ N ...

  6. poj2154-color-polyan次二面体+欧拉函数优化

    N<=1e9,O(nlogn)的做法会超时.从枚举置换转变为枚举轮换长度,然后可以利用欧拉函数,把复杂度变为O(√n * logn) 1 /*-------------------------- ...

  7. hdu 1286( 欧拉函数 )

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286 数学题真的是有点吃不消了... View Code 1 #include<iostream ...

  8. 费马定理中值定理_数论-欧拉函数、欧拉定理

    欧拉函数 积性函数 满足 ( 互质) 定义 对于正整数 ,欧拉函数是小于等于 的所有数中与 互质的数的 个数. 欧拉函数是积性函数(这个证明不是很显然,这个链接里面有很多种证明方法) 记作: 公式 , ...

  9. poj2154(Polya+欧拉函数优化模版)

    #include <cstdio> #include <cstring> #include<iostream> using namespace std; const ...

最新文章

  1. K - 迷宫问题 POJ - 3984
  2. oracle 数据库创建表
  3. 一文搞懂临床研究常见类型
  4. CRM, C4C和SAP Hybris的数据库层设计
  5. 【Lucene4.8教程之中的一个】使用Lucene4.8进行索引及搜索的基本操作
  6. html:(7):了解hx标签和加强语气
  7. 千亿级的数据难题,优酷工程师怎么解决?
  8. 【kafka】kafka 指定分区消费 不会触发 reblance
  9. NO.4 Android开发中常用框架及工具
  10. 在手机里输入八卦及64卦符号(老年教程)
  11. 傅里叶变换音频可视化_H5录音音频可视化-实时波形频谱绘制、频率直方图
  12. 添加控件并处理事件(纯手写)
  13. VS2019打包教程
  14. win10无法安装迅雷精简版解决办法
  15. win7的附件计算机没了,win7系统附件工具不见了的解决方法
  16. 西邮Linux兴趣小组2017纳新免试题揭秘
  17. 2023.02.07草图大师SU模型渲染- 效果图之加深颜色的色调
  18. uni-app开发APP和H5,分享功能
  19. Storm Event Imagery Dataset 数据简介
  20. 软件开发团队在苹果iPhone上日进千金

热门文章

  1. 解决VS2013中出现类似于error C4996: 'scanf': This function or variable may be unsafe的安全检查错误
  2. C++用string 定义字符串数组
  3. 关于bhuman文件结构
  4. 对于指针传入函数,却最终没有改变指针的值的问题
  5. Java中的occur_time,PLSQL报错: ORA-12170:TNS connect timeout occurred
  6. matlab verilog 接口,使用SystemVerilog简化FPGA中的接口
  7. 017_SpringBoot异常处理方式-自定义错误页面
  8. 013_下载静态资源
  9. python怎么换行继续写脚本_用Python实现换行符转换的脚本的教程
  10. 根号三的用计算机怎么表示,计算器根号3怎么打