bzoj2190 [SDOI2008]仪仗队(欧拉函数)
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
Sample Output
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]仪仗队(欧拉函数)相关推荐
- 「BZOJ2190」[SDOI2008] 仪仗队 - 欧拉函数
->点我进原题 [SDOI2008] 仪仗队 时空限制 1000ms / 128MB Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵, ...
- BZOJ 2190: [SDOI2008]仪仗队( 欧拉函数 )
假设C君为(0, 0), 则右上方为(n - 1, n - 1). 一个点(x, y) 能被看到的前提是gcd(x, y) = 1, 所以 answer = ∑ phi(i) * 2 + 2 - 1 ...
- 【bzoj2186】[Sdoi2008]沙拉公主的困惑 欧拉函数
题目描述 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M!互质的钞票.房地产第一大户沙拉公主决定预测一下大富翁国现在所有真钞票的 ...
- 数论讨伐!欧拉函数!
[欧拉函数] 任务开始. 什么是欧拉函数?我们又怎么求呢??? 此次任务的主要怪物:欧拉函数 (1)欧拉函数定义 欧拉函数嘛,当然是我们著名的莱昂哈德·欧拉发明的啦~那么他是怎么定义介个函数滴? 咳咳 ...
- 数论之互质与欧拉函数
文章开始前先给大家安利我学长以前写的数论的blog:aliayc 文章目录 互质 欧拉函数 质因数分解求欧拉函数 筛法求欧拉函数 性质 积性函数 定义 性质 题目 互质 定义 ∀ a , b ∈ N ...
- poj2154-color-polyan次二面体+欧拉函数优化
N<=1e9,O(nlogn)的做法会超时.从枚举置换转变为枚举轮换长度,然后可以利用欧拉函数,把复杂度变为O(√n * logn) 1 /*-------------------------- ...
- hdu 1286( 欧拉函数 )
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1286 数学题真的是有点吃不消了... View Code 1 #include<iostream ...
- 费马定理中值定理_数论-欧拉函数、欧拉定理
欧拉函数 积性函数 满足 ( 互质) 定义 对于正整数 ,欧拉函数是小于等于 的所有数中与 互质的数的 个数. 欧拉函数是积性函数(这个证明不是很显然,这个链接里面有很多种证明方法) 记作: 公式 , ...
- poj2154(Polya+欧拉函数优化模版)
#include <cstdio> #include <cstring> #include<iostream> using namespace std; const ...
最新文章
- K - 迷宫问题 POJ - 3984
- oracle 数据库创建表
- 一文搞懂临床研究常见类型
- CRM, C4C和SAP Hybris的数据库层设计
- 【Lucene4.8教程之中的一个】使用Lucene4.8进行索引及搜索的基本操作
- html:(7):了解hx标签和加强语气
- 千亿级的数据难题,优酷工程师怎么解决?
- 【kafka】kafka 指定分区消费 不会触发 reblance
- NO.4 Android开发中常用框架及工具
- 在手机里输入八卦及64卦符号(老年教程)
- 傅里叶变换音频可视化_H5录音音频可视化-实时波形频谱绘制、频率直方图
- 添加控件并处理事件(纯手写)
- VS2019打包教程
- win10无法安装迅雷精简版解决办法
- win7的附件计算机没了,win7系统附件工具不见了的解决方法
- 西邮Linux兴趣小组2017纳新免试题揭秘
- 2023.02.07草图大师SU模型渲染- 效果图之加深颜色的色调
- uni-app开发APP和H5,分享功能
- Storm Event Imagery Dataset 数据简介
- 软件开发团队在苹果iPhone上日进千金
热门文章
- 解决VS2013中出现类似于error C4996: 'scanf': This function or variable may be unsafe的安全检查错误
- C++用string 定义字符串数组
- 关于bhuman文件结构
- 对于指针传入函数,却最终没有改变指针的值的问题
- Java中的occur_time,PLSQL报错: ORA-12170:TNS connect timeout occurred
- matlab verilog 接口,使用SystemVerilog简化FPGA中的接口
- 017_SpringBoot异常处理方式-自定义错误页面
- 013_下载静态资源
- python怎么换行继续写脚本_用Python实现换行符转换的脚本的教程
- 根号三的用计算机怎么表示,计算器根号3怎么打