JZOJ.5325【NOIP2017模拟8.21】九九归一
Description
Input
Output
Sample Input
7 3 5 2 0
Sample Output
100
Data Constraint
好霸气的题目名
对于φ(n)我们可以线性求出来,然后先判断qφ(n)在mod n的意义下是否等于1,是的话再对φ(n)进行因数分解,看看它的因子a是否满足qa在mod n的意义下是否等于1,若都不等于1则这个数字就是神奇的。
一般而言这个φ(n)的因数并不多。
1 #include <cstring> 2 #include <cstdio> 3 #include <iostream> 4 #include <cmath> 5 #include <cstdlib> 6 #define N 10000005 7 using namespace std; 8 long long p; 9 long long n,q,fai,a,yin[N],top; 10 bool qwq; 11 long long read(){ 12 long long x=0,w=1; 13 char c=0; 14 for (c=getchar();c<'0'||c>'9';c=getchar()) {if (c=='-') w=-1;} 15 for (;c>='0'&&c<='9';c=getchar()) x=(x<<3)+(x<<1)+c-'0'; 16 return x*w; 17 } 18 long long getfai(){ 19 long long qwq=n,a=n; 20 for (long long i=2;i*i<=a;++i) 21 if (a%i==0){ 22 qwq=qwq/i*(i-1); 23 while (a%i==0) a/=i; 24 } 25 if (a>1) return qwq/a*(a-1); 26 return qwq; 27 } 28 long long kuai(long long a,long long b){ 29 long long qwq=1; 30 long long qaq=a; 31 while (b){ 32 if (b&1) qwq=qwq*qaq%n; 33 qaq=qaq*qaq%n; 34 b>>=1; 35 } 36 return qwq; 37 } 38 void getyin(){ 39 top=0; 40 long long a=fai; 41 for (long long i=2;i*i<=a;++i) 42 if (a%i==0){ 43 yin[++top]=i; 44 yin[++top]=a/i; 45 } 46 } 47 int main(){ 48 n=read(); 49 p=read(); 50 fai=getfai(); 51 getyin(); 52 while (p--){ 53 q=read(); 54 if ((q==0)||(kuai(q,fai)%n!=1)) {putchar('0');continue;} 55 qwq=true; 56 for (long long i=1;i<=top;++i) 57 if (kuai(q,yin[i])%n==1) {qwq=false; break;} 58 if (qwq) putchar('1'); 59 else putchar('0'); 60 } 61 return 0; 62 }
神奇的代码
转载于:https://www.cnblogs.com/Lanly/p/7405071.html
JZOJ.5325【NOIP2017模拟8.21】九九归一相关推荐
- jzoj5920. 【NOIP2018模拟10.21】风筝(dp,最长上升子序列)
5920. [NOIP2018模拟10.21]风筝 Description 当一阵风吹来,风筝飞上天空,为了你,而祈祷,而祝福,而感动-- Description oyiya 在 AK 了 IOI 之 ...
- JZOJ 5379. 【NOIP2017提高A组模拟9.21】Victor爱数字
Description Victor 是一名热爱数字的同学.他最近在思考这样一个问题: 一个字符串是回文的当且仅当它倒过来还和原来相同.那么如果一个数的数串没有一个长度超过1 的子串是回文串的话,它就 ...
- JZOJ.5234【NOIP2017模拟8.7】外星人的路径
Description 有一个外星人控制了你的大脑.一开始你处于原点(0,0).外星人有一个由(R,U,D,L)组成的长度为M 的操作序列,分别代表(右,上,下,左). 平面上有N 个关键点,每当外星 ...
- JZOJ 5678. 【GDOI2018Day2模拟4.21】果树
Description NiroBC 姐姐是个活泼的少女,她十分喜欢爬树,而她家门口正好有一棵果树,正好满足了她爬树的需求. 这颗果树有N个节点,节点标号 1-N.每个节点长着一个果子,第i个节点上的 ...
- JZOJ 5234. 【NOIP2017模拟8.7A组】外星人的路径
Description 有一个外星人控制了你的大脑.一开始你处于原点(0,0).外星人有一个由(R,U,D,L)组成的长度为M 的操作序列,分别代表(右,上,下,左). 平面上有N 个关键点,每当外星 ...
- JZOJ 5230. 【NOIP2017模拟A组模拟8.5】队伍统计
Description 现在有n个人要排成一列,编号为1->n .但由于一些不明原因的关系,人与人之间可能存在一些矛盾关系,具体有m条矛盾关系(u,v),表示编号为u的人想要排在编号为v的人前面 ...
- JZOJ.5264【NOIP2017模拟8.12】化学
Description Input Output Sample Input 3 10 1 2 10 Sample Output 5 Data Constraint Hint 搜索.考虑到m很大,我们不 ...
- JZOJ.5274【NOIP2017模拟8.14】数组
Description Input Output Sample Input 输入样例1: 3 2 7 5 4 2输入样例2: 5 3 1 5 4 3 5 5 Sample Output 输出样例1: ...
- JZOJ.5236【NOIP2017模拟8.7】利普希茨
Description Input 输入文件名为lipschitz.in. 第一行一个整数n. 接下来一行n个整数,描述序列A. 第三行一个数q . 接下来q行,每行三个整数.其中第一个整数type表 ...
- JZOJ.5331【NOIP2017模拟8.23】壕游戏
Description Input Output Sample Input 6 8 2 2 4 5 1 2 4 0 2 1 3 5 0 2 3 4 1 5 1 2 5 1 0 1 4 6 4 2 2 ...
最新文章
- qq邮箱格式的Java代码_Java实现QQ邮件发送
- 问题:从键盘读取特定类型的数据(使用Scanner读取int类型)
- 《Python Cookbook 3rd》笔记(3.9):大型数组运算
- python中如何输入矩阵_python - 如何向矩阵中添加向量_numpy_酷徒编程知识库
- 基于JAVA+SpringMVC+Mybatis+MYSQL的课程教学辅助系统
- logrotate日志轮转
- [转载] 卷积神经网络做mnist数据集识别
- numpy与pandas基本使用
- VS2015 error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
- 【图论】图的深度优先遍历与广度优先遍历(图文讲解)
- php 发送图片,php+curl 发送图片处理代码分享
- 我的世界java怎么自制皮肤_我的世界皮肤制作教程
- 2021年认证杯SPSSPRO杯数学建模B题(第一阶段)依巴谷星表中的毕星团求解全过程文档及程序
- smartsvn 破解
- JAVA毕设项目教务排课系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)
- PS如何做文字扫描效果(用于较清晰的扫描件)
- 分子生物学知识点归纳
- EXCEL【数据处理之数据清洗——缺失数据处理】
- 苹果MacBookPro六核i9芯32G存4TB硬SSD560X显15寸顶配51352元(公号回复“苹果AI”下载PDF资料)
- Android小程序-简易计算器的实现
热门文章
- 【VS2010学习笔记】【函数学习】一(MFC+OpenCV2.4.7读取摄像头之WM_TIMER消息处理函数的添加问题)
- 汇编语言数据段查找ASCII码并回显
- 基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码
- 【C++】内存4区---代码区、全局区、栈区、堆区
- Python 双y轴绘制
- 计算机应用基础本科答案排序,计算机应用基础本科操作题
- 四川大学计算机应用基础第二次作业,四川大学川成教2017年秋季《计算机应用基础》第二次作业...
- Flink on YARN(上):一张图轻松掌握基础架构与启动流程
- 如何在 Flink 1.9 中使用 Hive?
- 微信小程序开发--【Hello World 及代码结构】(二)