T66099 小xzy的数对

题目背景

老师带同学参加表演,要求学生两两一组表演,但有些学生一起会发生冲突,现在老师想知道有多少组学生分到一起时不会发生冲突。

题目描述

学生发生冲突当且仅当他们身上的编号有大于1的公因数。学生身上的编号是1~n。 输入n,输出有多少组学生分到一起时不会发生冲突。

我们认定11与任何数都互质。

输入输出格式

输入格式:

一个数,n

输出格式:

一个数,即答案 不过,还得将答案与一个伟大的模数19491001膜一下

输入输出样例

输入样例#1:

3
输出样例#1:

4
输入样例#2:

4
输出样例#2:

5

说明

n≤10^8

略读题目,求1~n中互质的对数,便可想到欧拉函数。

如何计算欧拉函数

long long getphi(){
int i=1;long long res=n;
while(n>1){
if(p[i]==0)break;
if(n%p[i]==0){
res=(res/p[i])*(p[i]-1);
while(n%p[i]==0)n/=p[i];
}
i++;
}
if(n>1)res=(res/n)*(n-1);
return res;
}

除此之外,我们也可以通过欧拉函数的积性,使用线形欧拉打表:

 void get_phi(){
for(register int i=;i<=n;i++){
if(!v[i]){
prim[++id]=i;
phi[i]=i-;
}
for(register int j=;j<=id;j++){
if(i*prim[j]>n)break;
v[i*prim[j]]=;
if(i%prim[j]==){
phi[i*prim[j]]=(phi[i]*prim[j])%MOD;break;
}
else phi[i*prim[j]]=(phi[i]*(prim[j]-))%MOD;
}
}
}

 

打完表后,循环就可以啦:

 #include <cstdio>
#include <bitset>
#include <iostream>
using namespace std;
const int MOD=;
int n;
bitset<> v;
int prim[],id,phi[]; void get_phi(){
for(register int i=;i<=n;i++){
if(!v[i]){
prim[++id]=i;
phi[i]=i-;
}
for(register int j=;j<=id;j++){
if(i*prim[j]>n)break;
v[i*prim[j]]=;
if(i%prim[j]==){
phi[i*prim[j]]=(phi[i]*prim[j])%MOD;break;
}
else phi[i*prim[j]]=(phi[i]*(prim[j]-))%MOD;
}
}
} int main(){
#ifndef ONLINE_JUDGE
freopen("phi.in","r",stdin);
freopen("phi.out","w",stdout);
#endif
scanf("%d",&n);
get_phi();long long ans=;
for(int i=;i<=n;i++)ans=(ans+phi[i])%MOD;
cout<<ans<<endl;
return ;
}

T66099 小xzy的数对 题解的更多相关文章

  1. T66597 小xzy的任务 题解

    T66597 小xzy的任务 题目背景 今天,小xzy的班主任交给他一个严肃的任务,匹配羽毛球运动员! ! ! 题目描述 羽毛球队有男女运动员各n人.给定2个n×n矩阵P和Q.Pij​是男运动员i和女 ...

  2. C#版 - Leetcode 633. 平方数之和 - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. C#版 - L ...

  3. [CQOI2014]数三角形 题解(组合数学+容斥)

    [CQOI2014]数三角形 题解(数论+容斥) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1328780 链接题目地址:洛谷P3166 BZOJ 350 ...

  4. 洛谷P1066 2^k进制数(题解)(递推版)

    https://www.luogu.org/problemnew/show/P1066(题目传送) (题解)https://www.luogu.org/problemnew/solution/P106 ...

  5. 51nod 1479 小Y的数论题

    一脸不可做题~~~233333 T<=100000,所以一定要logn出解啦. 但是完全没有头绪*&#……%*&……()……#¥*#@ 题解: 因为2^p+2^p=2^(p+1) ...

  6. BZOJ4200 & 洛谷2304 & UOJ132:[NOI2015]小园丁与老司机——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=4200 https://www.luogu.org/problemnew/show/P2304 ht ...

  7. 关于微信小程序并发数不能超过五个的问题

    wx.request 的最大请求数为5个,超过的部分就请求不到了 昨天遇到个问题,首页的请求数一共有9个,但是在有appid开发时竟然一直都没出错,直到我切到没appid的版本的时候才发现了这个问题. ...

  8. 洛谷 P1102 A-B数对 题解

    P1102 A-B 数对 题目描述 出题是一件痛苦的事情! 题目看多了也有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈! 好吧,题目是这样的:给出一串数以及一个数字 ...

  9. 洛谷【P2022 有趣的数】 题解

    题目链接 https://www.luogu.org/problem/P2022 题目描述 让我们来考虑1到N的正整数集合.让我们把集合中的元素按照字典序排列,例如当N=11时,其顺序应该为:1,10 ...

随机推荐

  1. HTTP协议的六种请求方法

    抛砖引玉,聊下概念性的东西先: HTTP协议 (Hyper Text Transfer Protocol) HTTP是一个基于TCP/IP通信协议来传递数据,包括html文件.图像.结果等,即是一个客 ...

  2. IOS自带输入法中文不触发KEYUP事件导致vue双向绑定错误问题

    先上图: 可以看到输入框中的内容和弹出框的内容不一致, <input class="am-fr labRight" id="txcode" type=&q ...

  3. Bootstrap-table 部分浏览器显示不出来

    一.问题 近日,写了一个ASP.Net项目,但是bootstrap-table在别人的电脑上显示不出来,在自己的电脑上能显示,有些浏览器也是能显示,但部分浏览器就是显示不出来.找了很多原因,最后有个老 ...

  4. postman测试方法,出现400错误码

    下午毛概课上帮同学debug了个错误: postman测试 ,得到返回 400的状态码错误: 查询博客: https://blog.csdn.net/zhangmengleiblog/article/ ...

  5. 转摘app测试方法总结

    app测试方法总结   一.安全测试 1.软件权限 1)扣费风险:包括短信.拨打电话.连接网络等. 2)隐私泄露风险:包括访问手机信息.访问联系人信息等. 3)对App的输入有效性校验.认证.授权.数 ...

  6. 测者的性能测试手册:快速安装LoadRunner Linux上的Generator

    安装和初始化 安装包 上传Linux.zip(LoadRunner Generator for Linux.zip,后台回复loadrunner获取下载地址),然后通过如下命令: unzip Linu ...

  7. mysql安装和配置(windowns||centos)

    windows10版本安装 1.获取mysql压缩包 https://dev.mysql.com/downloads/mysql/ 2.解压并配置文件my.ini .解压的文件路径 D:\Progra ...

  8. c/c++ socket API 调用后的错误判断 perror errno

    socket API 调用后的错误判断 perror errno 调用完socket API后,需要判断调用是否成功与失败.如果失败,会自动设置errno(是个整数), 并且用perror可以打印出具 ...

  9. FPGA配置OV5640摄像头及RGB图像数据采集

    本文设计思想采用明德扬至简设计法.在做摄像头数据采集处理之前,需要配置OV5640传感器内部寄存器使其按要求正常工作,详细内容请参见<OV5640自动对焦照相模组应用指南>.首先要关注OV ...

  10. django 模型层(2)

    Django 模型层(2) 多表操作---模型之间的关系 1 一对一:作者----作者详细信息 2 一对多:书籍----出版社 3 多对多:书籍----作者 一  创建模型(主键(id)自动创建) 没 ...