JZOJ 3927. 【NOIP2014模拟11.6】可见点数
3927. 【NOIP2014模拟11.6】可见点数 (Standard IO)
Time Limits: 1000 ms Memory Limits: 65536 KB
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。
题解
题目大意是求在 n∗n 的矩阵中有多少个点与(0,0)中间没有第三点
首先想到的是只要(x,y)满足gcd(x,y)=1就是要求的点
我们假设 x<y ,那么 ans/2−1=∑n−1i=1phi[i] 
问题就变成了求 phi[i] 了
求 phi[i] 必须用线性筛,否则会超时
代码
#include<cstdio>
#define N 100005
long long phi[N];
long p[N],tot;
bool b[N];
int main()
{   long n,i,j;
    long long ans=0;
    scanf("%ld",&n);
    if(n==1){
        printf("0\n");
        return 0;
    }
    phi[1]=1;
    for(i=2;i<=n;i++){
        if(!b[i]){
            p[++tot]=i;
            phi[i]=i-1;
        }
        for(j=1;j<=tot&&i*p[j]<=n;j++){
            b[i*p[j]]=true;
            if(i%p[j]==0){
                phi[i*p[j]]=phi[i]*p[j];
                break;
            }else phi[i*p[j]]=phi[i]*(p[j]-1);
        }
    }
    for(i=1;i<n;i++)
        ans+=phi[i];
    printf("%lld\n",ans*2+1);
    return 0;
}JZOJ 3927. 【NOIP2014模拟11.6】可见点数的更多相关文章
- JZOJ 3929. 【NOIP2014模拟11.6】创世纪
		3929. [NOIP2014模拟11.6]创世纪 (Standard IO) Time Limits: 1000 ms Memory Limits: 65536 KB Description 上帝手 ... 
- JZOJ 3928. 【NOIP2014模拟11.6】射击
		3928. [NOIP2014模拟11.6]射击 (Standard IO) Time Limits: 1000 ms Memory Limits: 65536 KB Description 有问题, ... 
- [JZOJ 4307] [NOIP2015模拟11.3晚] 喝喝喝 解题报告
		题目链接: http://172.16.0.132/senior/#main/show/4307 题目: 解题报告: 题目询问我们没出现坏对的连续区间个数 我们考虑从左到有枚举右端点$r$,判断$a[ ... 
- 【NOIP2014模拟11.3】噪音
		题目 FJ有M个牛棚,编号1至M,刚开始所有牛棚都是空的.FJ有N头牛,编号1至N,这N头牛按照编号从小到大依次排队走进牛棚,每一天只有一头奶牛走进牛棚.第i头奶牛选择走进第p[i]个牛棚.由于奶牛是 ... 
- 【NOIP2014模拟11.3】蛋糕
		题目 今天是Bessie的生日,他买了一个蛋糕和朋友们一起分享,蛋糕可以看成是一个R行C列的表格,共有R*C个格子,每个格子都有一个0至9的数字,表示该格子蛋糕拥有的巧克力.现在Bessie要把蛋糕横 ... 
- JZOJ 3509. 【NOIP2013模拟11.5B组】倒霉的小C
		3509. [NOIP2013模拟11.5B组]倒霉的小C(beats) (File IO): input:beats.in output:beats.out Time Limits: 1000 ms ... 
- JZOJ 3508. 【NOIP2013模拟11.5B组】好元素
		3508. [NOIP2013模拟11.5B组]好元素(good) (File IO): input:good.in output:good.out Time Limits: 2000 ms Mem ... 
- JZOJ 3518. 【NOIP2013模拟11.6A组】进化序列(evolve)
		3518. [NOIP2013模拟11.6A组]进化序列(evolve) (File IO): input:evolve.in output:evolve.out Time Limits: 1000 ... 
- JZOJ 3505. 【NOIP2013模拟11.4A组】积木(brick)
		3505. [NOIP2013模拟11.4A组]积木(brick) (File IO): input:brick.in output:brick.out Time Limits: 1000 ms Me ... 
随机推荐
- Point Estimation
			Point Estimation \(\bullet\)What is point estimation? Example: \(\bullet\) Bevan, Kullberg, and Rice ... 
- rest framework-认证&权限&限制-长期维护
			############### 自定义token认证 ############### 表 class User(models.Model): name=models.CharField(ma ... 
- zabbix 扩展脚本
			#!/usr/bin/env python #encoding:utf8 # desc: self-inspection # args: # reboot : reboot AP # check : ... 
- confidence intervals  and precision|The One-Mean z-Interval Procedure|When to Use the One-Mean z-Interval Procedure
			Confidence Intervals for One Population Mean When σ Is Known Obtaining Confidence Intervals for a Po ... 
- be accustomed to doing|actual |acute|adapt |
			Sometimes you've got to play a position that you're not accustomedto for 90 minutes, " he said. ... 
- LeetCode Day 2
			LeetCode0004 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 n ... 
- 使用GitBook编写项目文档
			GitBook简介 GitBook 是使用 GitHub / Git 和 Markdown(或AsciiDoc)构建漂亮书籍的命令行工具(和Node.js库): GitBook 可以将您的内容作为网站 ... 
- python djangjo完整的实现添加的实例
			实现:点击添加实现模态对话框,添加数据并显示. urls.py from django.conf.urls import url from django.contrib import admin fr ... 
- linux系统加固方案
			Linux主机操作系统加固规范 目 录 第1章 概述... 1 1.1 目的... 1 1.2 适用范围... 1 1.3 适用版本... 1 1 ... 
- Java遍历文件夹的两种方法(非递归和递归)
			import java.io.File; import java.util.LinkedList; public class FileSystem { public static int num ... 
