3927. 【NOIP2014模拟11.6】可见点数 (Standard IO)
来源:互联网 发布:linux ntp 开机启动 编辑:程序博客网 时间:2024/05/17 22:59
Description
ZPS经过长期的努力争取,终于成为了0901班的领操员,他要带领0901班参加广播操比赛。现在0901班的队伍可以看作是一个n*n的点阵,每个人都站在格点上。现在作为领操员的ZPS站(0,0)点,他想知道如果0901班的队伍站齐了,他能看到多少个人的脸(假设每个人的身高相同,体积相同)。
Input
一个正整数n。
Output
ZPS能看到多少个人的脸(当然他是看不到自己的脸的)。
Sample Input
3
Sample Output
5
Data Constraint
40%的数据,n<=1500。100%的数据,n<=100000。
思路
设k = y / x,则原问题等价于求多少对(x,y),x与y互质,那么ans=Σ(i=1,n-1)φ(i)利用欧拉函数的积性:(1)当i是质数是,φ(i)=i+1。(2)nm互质是,φ(nm)=φ(n)*φ(m)
var s:array[1..1000000] of longint; f:array[1..1000000] of boolean; i,j,n:longint; ans:int64;begin readln(n); if n=1 then begin writeln(0); exit; end; fillchar(f,sizeof(f),true); f[1]:=false; for i:=1 to n-1 do s[i]:=i; for i:=2 to n-1 do if f[i] then begin j:=0; repeat j:=j+i; s[j]:=s[j] div i*(i-1); f[j]:=false; until j+i>n-1 end; for i:=1 to n-1 do ans:=ans+s[i]; writeln(ans*2+1);end.
阅读全文
0 0
- 3927. 【NOIP2014模拟11.6】可见点数 (Standard IO)
- JZOJ 3927. 【NOIP2014模拟11.6】可见点数
- 3927. 【NOIP2014模拟11.6】可见点数
- jzoj3927【NOIP2014模拟11.6】可见点数(欧拉函数)
- jozj. 3927. 【NOIP2014模拟11.6】可见点数 洛谷 P2158 [SDOI2008]仪仗队
- 3928. 【NOIP2014模拟11.6】射击 (Standard IO)
- 3929. 【NOIP2014模拟11.6】创世纪 (Standard IO)
- 【NOIP2014模拟9.9】逆光 (Standard IO)
- 【NOIP2014模拟】逻辑的连通性 (Standard IO)
- 【NOIP2014模拟9.7】我要的幸福 (Standard IO)
- 【NOIP2014模拟11.2A组】国色天香 (Standard IO)
- 【NOIP2014模拟11.6】创世纪
- 【NOIP2014模拟11.6】射击
- Jzoj3927 可见点数
- 3928. 【NOIP2014模拟11.6】射击
- 3929. 【NOIP2014模拟11.6】创世纪
- 【NOIP2011模拟9.1】统计 (Standard IO)
- 【NOIP2011模拟9.1】直角三角形 (Standard IO)
- 高中3523. 【NOIP2013模拟11.7A组】JIH的玩偶
- 微信小程序-获得微信用户识别码(OPENID) C#
- jzoj3518【NOIP2013模拟11.6A组】进化序列
- python3 requests库实现多图片爬取
- 【正一专栏】评《我的前半生》——我们需要怎样的价值观
- 3927. 【NOIP2014模拟11.6】可见点数 (Standard IO)
- JavaScript跨域总结与解决办法
- Android基础篇——聊聊Android系统
- Golang教程:(十四)字符串
- Python3之操作系统
- 【工具使用】visual studio code常用快捷键
- 洛谷P2285 [HNOI2004]打鼹鼠
- 3928. 【NOIP2014模拟11.6】射击 (Standard IO)
- 课堂设计之图书馆借书系统