欧拉函数 || [SDOI2008]仪仗队 || BZOJ 2190 || Luogu P2158
题解:
显然除了(1,1),(0,1),(1,0)三个点外,对于其他点(x,y)只要满足gcd(x,y)==1就可以被看到
然后这些点是关于y=x对称的,所以直接考虑一半就可以
考虑下半部分的点(x,y)(y<x),对于每个x,小于x且与x互质的y就是答案数
于是就转化为了欧拉函数,2~N的欧拉函数和*2+3(前面那三个点)就是答案了。
代码:
#include<cstdio>
using namespace std;
const int maxn=4e4+;
int N,phi[maxn],v[maxn],Prim[maxn],num_prim=,ans=;
inline void Get_Prime(int n){
for(int i=;i<=n;i++){
if(v[i]==){
v[i]=i;
phi[i]=i-;
Prim[++num_prim]=i;
}
for(int j=;j<=num_prim;j++){
if(v[i]<Prim[j] || i*Prim[j]>n) break;
v[i*Prim[j]]=Prim[j];
if(i%Prim[j]==)
phi[i*Prim[j]]=phi[i]*Prim[j];
else phi[i*Prim[j]]=phi[i]*(Prim[j]-);
}
}
}
int main(){
scanf("%d",&N);
N--;
Get_Prime(N);
for(int i=;i<=N;i++) ans+=phi[i];
ans=ans*+;
if(N==) ans=;
printf("%d\n",ans);
return ;
}
By:AlenaNuna
欧拉函数 || [SDOI2008]仪仗队 || BZOJ 2190 || Luogu P2158的更多相关文章
- 【BZOJ4803】逆欧拉函数
[BZOJ4803]逆欧拉函数 题面 bzoj 题解 题目是给定你\(\varphi(n)\)要求前\(k\)小的\(n\). 设\(n=\prod_{i=1}^k{p_i}^{c_i}\) 则\(\ ...
- bzoj 2190 [SDOI2008]仪仗队(欧拉函数)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2190 [题意] n*n的正方形,在(0,0)格点可以看到的格子数目. [思路] 预处理 ...
- [bzoj 2190][SDOI2008]仪仗队(线性筛欧拉函数)
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2190 分析:就是要线性筛出欧拉函数... 直接贴代码了: memset(ans,,sizeof ...
- bzoj 2190 仪仗队(欧拉函数)
2190: [SDOI2008]仪仗队 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 2245 Solved: 1413[Submit][Statu ...
- BZOJ 2190仪仗队【欧拉函数】
问题的唯一难点就是如何表示队长能看到的人数?如果建系,队长所在的点为(0,0)分析几组数据就一目了然了,如果队长能看到的点为(m,n),那么gcd(m,n)=1即m n 互质或者是(0,1),(1,0 ...
- luogu P2158 [SDOI2008]仪仗队 (欧拉函数)
欧拉函数裸题 可惜我太久没做题忘了欧拉函数是什么了... 注意判断一下n = 1的情况就好了 #include <cstdio> using namespace std; ; typede ...
- P2158 [SDOI2008]仪仗队 && 欧拉函数
P2158 [SDOI2008]仪仗队 题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线 ...
- 【bzoj2190】: [SDOI2008]仪仗队 数论-欧拉函数
[bzoj2190]: [SDOI2008]仪仗队 在第i行当且仅当gcd(i,j)=1 可以被看到 欧拉函数求和 没了 /* http://www.cnblogs.com/karl07/ */ #i ...
- [SDOI2008]仪仗队(欧拉函数)
题目 [SDOI2008]仪仗队 解析 这个题,我也不知道他们的soltion是怎么写的这么长的. 我们发现我们一次看一条直线上的第一个点,也就是说,若两个点斜率\(k=\frac{y}{x}\)相同 ...
随机推荐
- Delphi组件编辑器
看到Dev中的cxGrid组件的编辑器很强大,于是很想探究一下,跟踪cxGrid的代码比较麻烦,但原理大概知道一二.首先来研究一下设计器双击cxGrid弹出一个编辑窗体,选择窗体中的一个内容后,属性编 ...
- 【JVM学习笔记】打破双亲委托机制的例子
Tomcat也有自己的类加载器,比如Servlet,这些类加载器就改变了双亲委托模型的默认机制 (该主题有待深入)
- LeetCode.1137-第N个泰波那契数(N-th Tribonacci Number)
这是小川的第409次更新,第441篇原创 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第260题(顺位题号是1137).Tribonacci(泰波那契)序列Tn定义如下: 对于n&g ...
- cisco路由器配置(三) 最终网关
Gateway(config)#ip route 0.0.0.0 0.0.0.0 217.124.6.1 /*管理距离为1/orGateway(config)#ip route 0.0.0.0 0. ...
- TensorFlow实战第七课(dropout解决overfitting)
Dropout 解决 overfitting overfitting也被称为过度学习,过度拟合.他是机器学习中常见的问题. 图中的黑色曲线是正常模型,绿色曲线就是overfitting模型.尽管绿色曲 ...
- 【神经网络与深度学习】什么是HDF
什么是HDF HDF 是用于存储和分发科学数据的一种自我描述.多对象文件格式.HDF 是由美国国家超级计算应用中心(NCSA)创建的,以满足不同群体的科学家在不同工程项目领域之需要.HDF 可以表示出 ...
- 【Linux开发】linux设备驱动归纳总结(六):1.中断的实现
linux设备驱动归纳总结(六):1.中断的实现 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- 【Linux开发】linux设备驱动归纳总结(六):2.分享中断号
linux设备驱动归纳总结(六):2.分享中断号 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
- XML 基本概念和XPath选择
books.xml文件 <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> ...
- jmeter性能测试重要指标以及性能结果分析
一.Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告 如果大家都是做Web应用的性能测试,例如只有一个登录的请求,那么在Aggregate Re ...