博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 3090 Visible Lattice Points 【欧拉函数】
阅读量:4309 次
发布时间:2019-06-06

本文共 493 字,大约阅读时间需要 1 分钟。

<>

题目大意:

给出范围为(0, 0)到(n, n)的整点,你站在(0,0)处,问能够看见几个点。

 

解题分析:

很明显,因为 (1 ≤ N ≤ 1000) ,所以无论 N 为多大,(0,1),(1,1),(1,0)这三个点一定能够看到,除这三个点以外,我们根据图像分析可得,设一个点的坐标为(x,y) ,那么只有符合gcd(x,y)=1的点才能被看到。又因为 (0,0)---(n,n)对角线两端的点对称,所以我们只需算一边即可,而一边的点数根据欧拉函数可得: $\sum_{i=2}^{n}\varphi{(i)}$  

所以最终的点数为:$$2*\sum_{i=2}^{n}\varphi{(i)}+3$$ 

#include 
#define N int(1e3+10)typedef long long ll;int euler[N];void init(){ euler[1]=1; for(int i=2;i

 

 

2019-02-12

转载于:https://www.cnblogs.com/00isok/p/10363755.html

你可能感兴趣的文章
Nginx
查看>>
Navicat远程连接云主机数据库
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
Mysql出现Table 'performance_schema.session_status' doesn't exist
查看>>
MySQL innert join、left join、right join等理解
查看>>
vivado模块封装ip/edf
查看>>
sdc时序约束
查看>>
Xilinx Jtag Access/svf文件/BSCANE2
查看>>
NoC片上网络
查看>>
开源SoC整理
查看>>
【2020-3-21】Mac安装Homebrew慢,解决办法
查看>>
influxdb 命令行输出时间为 yyyy-MM-dd HH:mm:ss(年月日时分秒)的方法
查看>>
已知子网掩码,确定ip地址范围
查看>>
判断时间或者数字是否连续
查看>>
docker-daemon.json各配置详解
查看>>
Docker(一)使用阿里云容器镜像服务
查看>>
Docker(三) 构建镜像
查看>>
FFmpeg 是如何实现多态的?
查看>>
FFmpeg 源码分析 - avcodec_send_packet 和 avcodec_receive_frame
查看>>
FFmpeg 新旧版本编码 API 的区别
查看>>