2012多校3.A(用O(log(n))判断b^k % a == 0)
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Description
Input
For each case, there’s a single line contains A and B.
Output
Sample Input
5 5
2 3
1000 2000
Sample Output
Case #2: NO
Case #3: YES
#include<bits/stdc++.h>
using namespace std;
typedef long long ll ;
ll a , b ;
int main () {
int T ;
scanf ("%d" , &T ) ;
for (int cas = 1 ; cas <= T ; cas ++) {
scanf ("%I64d%I64d" , &a , &b) ;
ll g = __gcd (a,b) ;
if (g == 1) {
printf ("Case #%d: NO\n" , cas) ;
continue ;
}
a/= g ;
ll flag = __gcd (a , g) ;
while (flag != 1) {
while (a % flag == 0) a/=flag ;
flag = __gcd (a , g) ;
}
if (a == 1 ) printf ("Case #%d: YES\n" , cas) ;
else printf ("Case #%d: NO\n" , cas) ;
}
return 0 ;
}
其实用O(sqrt(n))的方法也是可以的,但姿势不好看很容易tle。
用log(n)的方法理解上也很容易,先求g = gcd(a , b) ,那么显然若 {a的质因子 } 属于 {g的质因子} , a^k % b 一定等于0 ------no.1
所以之后不断求 flag = gcd (g , a) , 并让 a /= flag ;
最终a 和 g互质时,若a != 1 , 则no.1肯定不成立,那么肯定不存在k,能让所求等式成立,
反之a = 1的情况,就肯定成立了。
2012多校3.A(用O(log(n))判断b^k % a == 0)的更多相关文章
- Holedox Eating HDU - 4302 2012多校C 二分查找+树状数组/线段树优化
题意 一个长度$n<=1e5$的数轴,$m<=1e5$个操作 有两种一些操作 $0$ $x$ 在$x$放一个食物 $1$ 一个虫子去吃最近的食物,如果有两个食物一样近,不转变方向的去吃 ...
- HDU 4474 Yet Another Multiple Problem【2012成都regional K题】 【BFS+一个判断技巧】
Yet Another Multiple Problem Time Limit: 40000/20000 MS (Java/Others) Memory Limit: 65536/65536 K ...
- 牛客多校第十场 H Stammering Chemists 判断图同构
题意: 给出一个无向图,表示一种有机物质的结构式,问你这个有机物质是列表中的哪个. 题解: 判断图同构需要枚举全排列以对应点,但是此题中几乎只需要将点度数排序后一个一个比较,对于甲基位置再加个特判即可 ...
- Linux system log avahi-daemon[3733]: Invalid query packet
在检查Linux的日志文件时,发现大量 avahi-daemon[3733]: Invalid query packet错误(不同服务器对应的数字有所不同) Aug 3 07:00:01 hostn ...
- [转]Android输出Log到文件
前言:开发中遇到mx4这款机型Eclipse联调不上,logcat看不了,需要输出生成文件查看调试信息.网上搜了下,功能很完善了.startService和过滤输出信息需要自己添加设置,另外注意添加权 ...
- SQL 2008 RAISERROR语法在SQL 2012/2014不兼容问题
原文 旧的RAISERROR语法在SQL 2012不兼容问题 raiserror 写法: SQL 2008: raiserror 55030 'text error' SQL 2012: raiser ...
- Mysql query log
一.查询日志的概念: 查询日志记录MySQL中所有的query,通过"--log[=file_name]"来打开该功能.由于记录了所有的query,包括所有的select,体积比较 ...
- [转] C#实现自动化Log日志
qing2005原文地址 C#实现自动化Log日志 在开发项目的时候,我们不免要使用Log记录日志,使用最多的是Log4Net和EntLib Log,在需要记录日志的代码处加入log.Write(日志 ...
- SQL Server 2012 Express LocalDB
微软最新推出的 SQL Server 2012 Express LocalDB 是一种 SQL Server Express 的运行模式,特别适合用在开发环境使用,也内置在 Visual Studio ...
随机推荐
- PHP之:PHP框架
ThinkPHP - 国内PHP框架 http://www.thinkphp.cn/. OneThink-基于tp框架开发的CMS (适于小项目) http://www.onethink.cn/. ...
- Alpha版本十天冲刺--Day4
站立式会议 会议总结 队员 今天完成 遇到的问题 明天要做 感想 鲍亮 解决线程信息传递问题(使用函数回调),Android登录验证接口完善 无 json解析,忘记密码界面验证码获取接口,忘记密码请求 ...
- 算法与设计模式系列1之Python实现常见算法
preface 常见的算法包括: 递归算法 二分法查找算法 冒泡算法 插入排序 快速排序 二叉树排序 下面就开始挨个挨个的说说原理,然后用Python去实现: 递归算法 一个函数(或者程序)直接或者间 ...
- 快捷键&小技巧&备忘录
shift+鼠标滚轮:实现左右移动 alt+鼠标左键双击:打开属性 chrome中在F12下的Element中,可以先选中某一项,可以直接按住F2进行编辑 chrome中element的右下方我们可以 ...
- 机器学习---python环境搭建
一 安装python2.7 去https://www.python.org/downloads/ 下载,然后点击安装,记得记住你的安装路径,然后去设置环境变量,这些自行百度一下就好了. 由于2.7没有 ...
- MySQL中的外键是什么、有什么作用
本文参加博文大赛,如果您满意的话麻烦点击这里给我投票原,查看原文点击这里.最近自学数据库MySQL,然后有个疑问,一直不得其解,查询了相关资料,最后还是没有解决. 我的疑问是 "使用外键约束 ...
- rdesktop in linux
rdesktop -f -a 16 -u administrator -p passwrod feelamcheung 192.168.0.2:8080
- Oracle 的表备份的方法
1.直接备份(防止误操作后数据库表不能恢复) create table new_table as select * from old_table; 2.创建表头,然后插入列(繁琐的做法) create ...
- 9月22日上午JavaScript----window对象
window对象 window属性: opener:打开当前窗口的源窗口,如果这个窗口是由别的网页点击链接跳转过来的,或者是从另外一个页面点击打开窗口打开的,opener就是找到源页面的.如果当前窗口 ...
- Java数据结构——迭代器