[SDOI2008]仪仗队
洛谷:https://www.luogu.org/problemnew/show/P2158
bzoj:problem 2190
这题就是一道欧拉函数板子题。
对gcd稍微有点了解的人就会知道,在一个方格里,两个点的横纵坐标差的gcd为1时中间不会经过任何格点。
gcd=1,也就是说两个数互质呗,自认而然的就想到了欧拉函数。
我们枚举每一列,统计欧拉函数值。
这里要注意的是,例如(4,3)这个点符合要求时,(3,4)这个点也符合要求,然而我们统计3这个点的函数值时,并没有统计,所以我们对于每一列的函数值乘2,会在第一列多计算一个点,所以答案需要-1.
还有一个特判,为啥就不说了。
#include <algorithm> #include <iostream> #include <cstring> #include <cstdio> using namespace std; int n,ans; int prime[40006],tot,phi[40006]; bool vis[40006]; void get_phi() {phi[1]=1;for(int i=2;i<=n;i++){if(!vis[i])prime[++tot]=i,phi[i]=i-1;for(int j=1;j<=tot&&prime[j]*i<=n;j++){vis[prime[j]*i]=1;if(i%prime[j]==0){phi[i*prime[j]]=phi[i]*prime[j];break;}else phi[i*prime[j]]=phi[i]*phi[prime[j]];}} } int main() {scanf("%d",&n);if(n==1){ cout<<"0"; return 0; }n--;get_phi(); // for(int i=1;i<=n;i++)cout<<phi[i]<<" ";cout<<"\n";for(int i=1;i<=n;i++)ans+=phi[i]*2;printf("%d",ans+1); }
转载于:https://www.cnblogs.com/rmy020718/p/9803065.html
[SDOI2008]仪仗队相关推荐
- BZOJ 2190: [SDOI2008]仪仗队( 欧拉函数 )
假设C君为(0, 0), 则右上方为(n - 1, n - 1). 一个点(x, y) 能被看到的前提是gcd(x, y) = 1, 所以 answer = ∑ phi(i) * 2 + 2 - 1 ...
- BZOJ 2190: [SDOI2008]仪仗队
2190: [SDOI2008]仪仗队 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 2689 Solved: 1713 [Submit][Sta ...
- bzoj 2190: [SDOI2008]仪仗队 线性欧拉函数
2190: [SDOI2008]仪仗队 Time Limit: 10 Sec Memory Limit: 259 MB [Submit][Status][Discuss] Description 作 ...
- bzoj2190 [SDOI2008]仪仗队(欧拉函数)
2190: [SDOI2008]仪仗队 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 3203 Solved: 2062 [Submit][Sta ...
- 「BZOJ2190」[SDOI2008] 仪仗队 - 欧拉函数
->点我进原题 [SDOI2008] 仪仗队 时空限制 1000ms / 128MB Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵, ...
- 「欧拉定理」[SDOI2008]仪仗队
[SDOI2008]仪仗队 https://ac.nowcoder.com/acm/problem/20313 题目描述 作为体育委员,C君负责这次运动会仪仗队的训练. 仪仗队是由学生组成的N * N ...
- 洛谷P2158 [SDOI2008]仪仗队
题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图 ...
- 【BZOJ】2190 [SDOI2008]仪仗队
[算法]欧拉函数 欧拉线性筛 [题解]将图从左至右,从下至上,分别标号0~n-1. 除了坐标0,一个点会被观察到当且仅当其坐标(i,j)的i与j互质,否则会被(i/d,j/d)挡住. 所以累加2~n- ...
- BZOJ2190 SDOI2008 仪仗队
flag:数论,欧拉函数. http://www.lydsy.com/JudgeOnline/problem.php?id=2190 PS:我们发现当x1=k*x y1=k*y时 此刻正能看见一个 于 ...
最新文章
- 深度学习多框架多平台推理引擎工具
- ajax .done 应该怎么写_软文推广的文章应该怎么写好呢
- web-yestem(伊思腾)-企业门户-数据库设计
- Cocos2d中使用颜色混合:加算,减算
- ubuntu安装完后需进行必要的软件更新
- SlidingMenu的使用,结合Fragment(eclipse环境)
- “普通人,不要随便创业,安心拿工资过日子比啥都强”你怎么看?
- Caffe学习:Layers
- GNS3+winPcap+wireshark的安装步骤
- mx350显卡天梯图_V6.00成为史上最短命显卡天梯图,V6.01新增MX450
- YOLO3算法个人算法理解心得
- Lottie动画 轻松使用
- 守望先锋外挂(OWG)透视原理分析
- Android Studio连接夜神nox模拟器
- 热议:CSS为什么这么难学?一定是你的方法不对
- OpenCV之灰度空间变换
- Jrebel最新激活破解方式(持续更新) 转
- PTA——互评成绩(c语言)
- 【非原创】PHPMywind调用
- WinVista发布前最大敌人是Win95??!!