P2158 [SDOI2008]仪仗队

找规律大水题嘛,如果你做过P1170 兔八哥与猎人

这题得到的规律是$a,b,c,d$,若$gcd(a-b,c-d)==1$ 那么$a,b$就能看到$c,d$

显然这题暴力枚举$O(n^2)$是过去的,然后有了规律,那么这题也就是要求$\sum_{i=1}^{n} \varphi i$

据说线性筛可以筛欧拉函数,来瞧一瞧

首先根据欧拉函数通式$\varphi(x)=x\prod\limits_{i=1}^{n}{(1-\frac{1}{p_i})}$

其中$p_1, p_2……p_n$为$x$的所有质因数,$x$是不为0的整数。

埃式筛法:

for(int i=;i<=n;i++)
ph[i]=i;
for(int i=;i<=n;i++){
if(ph[i]==i)
for(int j=i;j<=n;j+=i)
ph[j]=ph[j]/i*(i-);
}

几个重要的性质

1.$\varphi(1) =1$

2.$n$是质数,$\varphi (n)= n-1$

3.欧拉函数是积性函数,所以当$a,b$互质时,$\varphi (a\times b) = \varphi (a)\times \varphi(b) $

4.当$p$为质数时,$\varphi (p^k)=p^k -p^{k-1} =(p-1)*p^{k-1}$因为除$p$的倍数外,其他数都跟$n$互质。

5.当$n$为奇数时,$\varphi (2n)=\varphi (n)$,证明与上述类似。

6.当$n>2$时,$\varphi (n)$都是偶数;

欧拉筛法(线性筛法):

void OULA(){
for(int i=;i<=N;i++){
if(!vis[i]) {
prime[++tot]=i;
ph[i]=i-;
}
for(int j=;j<=tot&&i*prime[j]<=N;j++){
vis[prime[j]*i]=;
if(i%prime[j]) ph[prime[j]*i]=(prime[j]-)*ph[i];
else {
ph[prime[j]*i]=ph[i]*prime[j];
break;
}
}
}
}

洛谷——P2158 [SDOI2008]仪仗队的更多相关文章

  1. 洛谷 P2158 [SDOI2008]仪仗队 解题报告

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

  2. 洛谷P2158 [SDOI2008]仪仗队

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

  3. 洛谷 P2158 [SDOI2008]仪仗队 && 洛谷 P1447 [NOI2010]能量采集

    https://www.luogu.org/problemnew/show/P2158 以人所在位置为(0,0)建立坐标系, 显然除了(0,1)和(1,0)外,可以只在坐标(x,y)的gcd(x,y) ...

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

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

  5. 洛谷 P2158 [SDOI2008]仪仗队

    题意简述 给定一个n,求gcd(x, y) = 1(x, y <= n)的(x, y)个数 题解思路 欧拉函数, 则gcd(x, y) = 1(x <= y <= n)的个数 ans ...

  6. 洛谷 2158 [SDOI2008]仪仗队

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

  7. P2158 [SDOI2008]仪仗队

    P2158 [SDOI2008]仪仗队图是关于y=x对称的,横纵坐标一定是互质的否则在之前就被扫过了,所以就可以用欧拉函数再*2就完了. #include<iostream> #inclu ...

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

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

  9. 洛谷 P1984 [SDOI2008]烧水问题

    洛谷 P1984 [SDOI2008]烧水问题 题目描述 把总质量为1kg的水分装在n个杯子里,每杯水的质量均为(1/n)kg,初始温度均为0℃.现需要把每一杯水都烧开.我们可以对任意一杯水进行加热. ...

随机推荐

  1. Node.js+Express搭建博客系统基本环境安装

    1.下载安装node.js 官网下载地址:https://nodejs.org/en/download/ 2.安装express. 打开node命令行工具,在命令行中输入:npm install -g ...

  2. EL 隐含对象

    EL     隐含对象(11个):

  3. 服务器可用的Socket

    "; IPAddress ServerIp = IPAddress.Parse("112.124.46.251"); IPEndPoint iep = new IPEnd ...

  4. APDU命令的结构和处理【转】

    本文转载自:http://blog.csdn.net/yonghenzhita/article/details/36402525 版权声明:本文为博主原创文章,未经博主允许不得转载. 简单说,IFD( ...

  5. Linux微信web开发者工具

    Linux微信web开发者工具 https://github.com/cytle/wechat_web_devtools Linux微信web开发者工具, 可在 linux 桌面环境跑起 微信开发者工 ...

  6. 并不对劲的spoj1812

    题意是求多个串的lcs. 这也是道后缀自动机的模板题.对于任意一个字符串建后缀自动机,用其他串查询就行.对于后缀自动机的每个状态要额外记匹配到当前状态的最大长度. 和spoj1811的区别在于这道题不 ...

  7. 【POJ 1201】 Intervals

    [题目链接] 点击打开链接 [算法] 令sum(n)表示区间[1,n]中选了几个点 那么,显然有以下不等式 : 1. sum(n)- sum(n - 1) >= 0 2. sum(n) -  s ...

  8. mybatis批量update操作的写法,及批量update报错的问题解决方法

    mybatis的批量update操作写法很简单,如下: public interface YourMapper extends BaseMapper<YourExt> { void upd ...

  9. 2-3 原生小程序 - 项目app.json配置

    App.json它其实有四五个配置,但是最重要的是pages.windows和tabbar.tabbar是做导航的处理的. 官方推荐的入门配置之一: app.json 它其实有一些字段是限制了这个格式 ...

  10. 给网站添加免费Https SSL证书

    基于阿里云的云盾证书服务,系统是centos6.8,web服务器是nginx1.8.0,简单记录下踩坑情况. 申请证书 登录阿里云控制台→安全(云盾)→证书服务→购买证书(https://common ...