BZOJ2190 [SDOI2008]仪仗队
原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2190
仪仗队
Description
作为体育委员,C君负责这次运动会仪仗队的训练。仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图)。
现在,C君希望你告诉他队伍整齐时能看到的学生人数。
Input
共一个数N。
Output
共一个数,即C君应看到的学生人数。
Sample Input
4
Sample Output
9
HINT
【数据规模和约定】
对于 100% 的数据,1 ≤ N ≤ 40000
题解
看得到的矩形肯定是边长互质的,所以可以列式子:
\sum_{i=1}^n\sum_{j=1}^n[gcd(i,j)=1]
简单的化简一下:
\sum_{d=1}^n\mu(d)\lfloor\frac{n}{d}\rfloor\lfloor\frac{n}{d}\rfloor
然后O(n)O(n)O(n),很爽。
网上还有一堆套φφ\varphi的。。。
代码
#include<cstdio>
using namespace std;
const int M=4e4+5;
int miu[M],p[M/3],n,ans;
bool isp[M];
void pre(int n)
{miu[1]=isp[1]=1;for(int i=2,t;i<=n;++i){if(!isp[i])p[++p[0]]=i,miu[i]=-1;for(int j=1;j<=p[0];++j){t=i*p[j];if(t>n)break;isp[t]=1;if(i%p[j]==0){miu[t]=0;break;}miu[t]=-miu[i];}ans+=miu[i]*(n/i)*(n/i);}ans+=n*n;
}
void in(){scanf("%d",&n);}
void ac(){n-=1;pre(n);printf("%d",ans+2);}
int main(){in();ac();}
BZOJ2190 [SDOI2008]仪仗队相关推荐
- bzoj2190 [SDOI2008]仪仗队(欧拉函数)
2190: [SDOI2008]仪仗队 Time Limit: 10 Sec Memory Limit: 259 MB Submit: 3203 Solved: 2062 [Submit][Sta ...
- BZOJ2190 SDOI2008 仪仗队
flag:数论,欧拉函数. http://www.lydsy.com/JudgeOnline/problem.php?id=2190 PS:我们发现当x1=k*x y1=k*y时 此刻正能看见一个 于 ...
- 「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 ...
- 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 作 ...
- 「欧拉定理」[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- ...
- [SDOI2008]仪仗队
洛谷:https://www.luogu.org/problemnew/show/P2158 bzoj:problem 2190 这题就是一道欧拉函数板子题. 对gcd稍微有点了解的人就会知道,在一个 ...
最新文章
- ssm商务会员管理系统_会员管理商城开发
- MapReduce中源码分析(map端的过程)
- 解决ncnn配置中缺少“vulkan”文件
- 操作系统原理之进程调度与死锁(三)
- 中本聪研究所创始人对Core的发展方向感到厌恶
- 自定义弹框,点击提示框外空白区域,让弹框消失
- 服务器有效设置防止web入侵
- mysql 查询的关键词的执行顺序
- Python爬虫框架Scrapy报错:ModuleNotFoundError: No module named 'scrapy'
- 深度学习CUDA最新最佳安装教程
- 艺体计算机教师考核细则,音体美教师考核办法
- DNS服务(二):域名劫持
- threejs-自定义着色器材质
- Python_Turtle绘制心形线(采用函数描点法绘制)(turtle实现)【2021-10-15】
- 数据分析入门篇(一)
- mybatis报错:java.sql.SQLException: 无效的列类型: 1111
- 2019年最全的大数据学习大纲总结,持续更新.....
- 数据库设计(电商平台)
- VMware发布Project Monterey
- 阿里巴巴-鹿班实验室算法实现系列