问题的唯一难点就是如何表示队长能看到的人数?如果建系,队长所在的点为(0,0)分析几组数据就一目了然了,如果队长能看到的点为(m,n),那么gcd(m,n)=1即m n 互质或者是(0,1),(1,0)两点。证明很简单,如果gcd(m,n)=d 那么(m/d,n/d)必然会挡住点(m,n),所以gcd(m,n)=1是必然的。这样问题就划归到2到n-1有多少数互质。由于欧拉函数的意义是小于n的与n互质的数的个数,所以知道欧拉函数意义的人都能第一时间想到答案就是t=φ(2)+φ(3)+…+φ(n-1) ,如果点(m,n)可以被看到,根据对称性(n,m)也可以被看到,再加上(1,1)(由于(1,1)是唯一不具有对称性的点所以分开来考虑)(0,1),(1,0)三点,所以答案 ans=t*2+3 ,如果定义φ(1)=1 那么答案就是φ(1)+φ(2)+φ(3)+…+φ(n-1)+1了

#include<iostream>

#include<cstdio>

#include <math.h>

using namespace std;

int prime[20000]={0},t;

bool isprime(int k)

{

for (int i=1;i<=t-1;i++)

{

if (k % prime[i]==0)return false;

}

return true;

}

int euler(int k)

{

intnow=1,e=1,i;

while(k!=1)

{

for(i=now;i<=t-1;i++)

{

now++;

if(k % prime[i]==0)break;

}

e=e*(prime[i]-1);k=k/prime[i];

while (k % prime[i]==0)

{

e=e*prime[i];

k=k/prime[i];

}

}

returne;

}

int main()

{

t=2;

int m,n,i,ans=0;

scanf("%d",&n);

prime[1]=2;

for (i=2;i<=40000;i++)

{

m=i*2-1;

if (isprime(m))

{

prime[t]=m;

t++;

}

}

for(i=1;i<=n-1;i++)

{

ans+=euler(i);

}

ans=ans*2+1;

printf("%d",ans);

return 0;

}

BZOJ 2190仪仗队【欧拉函数】的更多相关文章

  1. Bzoj-2190 仪仗队 欧拉函数

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2190 简单的欧拉函数题,实际上就是求gcd(x,y)=1, 0<=x,y<=n ...

  2. BZOJ2190 [SDOI2008]仪仗队 [欧拉函数]

    题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图 ...

  3. P2158 [SDOI2008]仪仗队 && 欧拉函数

    P2158 [SDOI2008]仪仗队 题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线 ...

  4. 【bzoj2190】[SDOI2008]仪仗队 欧拉函数

    题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图 ...

  5. P2158 [SDOI2008]仪仗队 欧拉函数模板

    题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图 ...

  6. BZOJ 2818: Gcd [欧拉函数 质数 线性筛]【学习笔记】

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 4436  Solved: 1957[Submit][Status][Discuss ...

  7. 【P2158】仪仗队&欧拉函数详解

    来一道数论题吧. 这个题一眼看上去思路明确,应该是数论,但是推导公式的时候却出了问题,根本看不出来有什么规律.看了马佬题解明白了这么个规律貌似叫做欧拉函数,于是就去百度学习了一下这东西. 欧拉函数的含 ...

  8. luogu2158 [SDOI2008]仪仗队 欧拉函数

    点 $ (i,j) $ 会看不见当有 $ k|i $ 且 $ k|j$ 时. 然后就成了求欧拉函数了. #include <iostream> #include <cstring&g ...

  9. 洛谷 - P2158 - 仪仗队 - 欧拉函数

    https://www.luogu.org/problemnew/show/P2158 好像以前有个妹子收割铲也是欧拉函数. 因为格点直线上的点,dx与dy的gcd相同,画个图就觉得是欧拉函数.但是要 ...

  10. 洛谷P2158 [SDOI2008]仪仗队 欧拉函数的应用

    https://www.luogu.org/problem/P2158 #include<bits/stdc++.h> #define int long long using namesp ...

随机推荐

  1. nmon各配置项含义介绍

    1)nmon各配置项含义介绍

  2. MySQL 导出一句话

    听说是很老的东西了,学习的时候发现还是很好用的,故学习转载过来,留备学习. mysql 导出一句话 方法1:网上流行的方法 流程:(1)建表--->(2)插入数据--->(3)select ...

  3. X11/extensions/XShm.h: No such file or directory

    CentOS 编译一些开源项目提示:X11/extensions/XShm.h: No such file or directory. 运行命令:yum install libXext-devel就可 ...

  4. 如何处理Docker错误消息:please add——insecure-registry

    本地安装Kubernetes时,遇到如下的错误消息: pleade add --insecure-registry gcr.io to daemon's arguments 解决方案:点击Docker ...

  5. 当互联网遇上家装,十大家装O2O混战

    2015年已过去大半,装修O2O就出现了新的局面:为数众多的家居网络平台在家装O2O领域还未站稳脚跟,新的入局者就打出超低价格登场.新老O2O家装大战迅速展开,除了拼价格还拼品牌和体验,家装O2O的好 ...

  6. Higher level thinking

    「Higher level thinking」-- 出自 Ray Dalio 的<Principles>(PDF 原文:Principles by Ray Dalio) Higher le ...

  7. layui模块规范

    刚入公司不久,就开始做项目了,最后还是选择用layui来做前端的页面,一来是可以自适应,二来是用框架比较方便,简洁. 先看下Layui的介绍: layui 是一款采用自身模块规范编写的情怀级前端UI框 ...

  8. git - GNU 交互工具

    语法 git [options] [path1] [path2] gitps [options] gitview [options] filename 注意 GIT 包 的 主要 配置文件 是 .gi ...

  9. shelll脚本,根据软链接,找到真实路径

    [root@localhost tmp]# ls -l total lrwxrwxrwx root root Sep : abc -> /etc/passwd lrwxrwxrwx root r ...

  10. SVN的使用二

    一,打开SCM 在xcode中,点击菜单: File -> Source Control –> Repositories 二,连接SVN服务器 1, 2,配置SVN服务器地址(http:/ ...