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. Xhprof分析php性能

    https://windows.php.net/downloads/pecl/releases/xhprof/0.10.6/ 下载Xhprof版本 配置一个本地访问url,指向index.php,能访 ...

  2. 2018.12/6 js键盘事件 DOM:0级2级

    DOM0级事件元素绑定多个click最后只执行最后一个click. DOM2级事件元素绑定多个click,都要执行 注意当绑定的多个事件名,函数名,事件发生阶段三者完全一样时,才执行最后一个 div. ...

  3. 自然底数e的意义是什么?

    自然底数e的意义是什么? https://mp.weixin.qq.com/s?__biz=MzA5ODUxOTA5Mg==&mid=2652553811&idx=1&sn=0 ...

  4. C++ 11 创建和使用共享 weak_ptr

    1.为什么需要weak_ptr? 在正式介绍weak_ptr之前,我们先来回忆一下shared_ptr的一些知识.我们知道shared_ptr是采用引用计数的智能指针,多个shared_ptr实例可以 ...

  5. 启动期间的内存管理之初始化过程概述----Linux内存管理(九)

    在内存管理的上下文中, 初始化(initialization)可以有多种含义. 在许多CPU上, 必须显式设置适用于Linux内核的内存模型. 例如在x86_32上需要切换到保护模式, 然后内核才能检 ...

  6. Unity重置Animator到初始状态和重复播放同一个Animation

    遇到问题 特效同事给的Animation更改了物体的很多属性,如Active,Alpha, Scale,Position等等,物体本身需要重复利用,因此使用对象池技术不直接销毁而是隐藏等需要时再显示, ...

  7. Ubuntu忘记密码后强制修改密码

    环境:Ubuntu 16.04 由于很久不用我的Ubuntu系统导致密码忘记,就想着应该有什么办法可以强制修改root密码,就上百度找了一下,果然Ubuntu有办法强制修改root密码. 在这里要谢谢 ...

  8. 企业业务数据处理用“work”还是“MQ”

    近期公司在做架构梳理已经项目架构方向,不知不觉就引起了使用“work”跑数据还是用“MQ”进行跑数据的争论! 对于争论这件事在各行各业都有,其实我觉得针对“争论”这个词的根源在于一件事情有很多解决方案 ...

  9. 【Python 补充01】Python运算符

    Python运算符 举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. 1.算术运算符 + - * / # 加减乘除 % # 取模(返回除 ...

  10. HBase 数据模型

    在HBase中,数据是存储在有行有列的表格中.这是与关系型数据库重复的术语,并不是有用的类比.相反,HBase可以被认为是一个多维度的映射. HBase数据模型术语 Table(表格) 一个HBase ...