题目链接:http://4.gdutcode.sinaapp.com/contest.php?cid=1021

F

题意:给出n和m,要求满足gcd(x,y)=n && lcm(x,y)=m的pair(x,y)的个数

sol:先YY一下:

设   gcd(x,y)=n,lcm(x,y)=m

那么有x=a*n,y=b*n  ;  m=c*x,m=d*y    (其中a与b互质,c与d互质)

那么有m=a*c*n,m=b*d*n

又因为a、b、c、d必须是整数,所以m/n必须是整数,即m%n==0    //(不用纠结。。。这条性质是确定的)

设N=m/n,那么有a*c=b*d=N        (其中a与b互质,c与d互质)

这里会有一个奇怪的事实:要想满足这个条件,那么a与c互质,b与d互质

证明自己想去。。。。。。(逃

证明:设a有质因子AA,那么b一定没有质因子AA

   又因为ac=bd,所以d必须有质因子AA

   又因为c和d互质,所以c一定没有质因子AA

     所以a有的质因子c一定不能有。所以a与c互质。

同理可证b和d互质

这时问题就转化成了:在N的所有约数中,找出所有互质的pair。

O(sqrt(N))就可以搞定~

在coding的时候注意一个地方:

LL T=sqrt(N*1.0);

那个1.0是必须要乘的,因为sqrt的参数需要是浮点数

 #include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
#define LL long long LL gcd(LL a,LL b)
{
if (b==) return a;
return gcd(b,a%b);
} int T;
LL n,m;
int main()
{
scanf("%d",&T);
while (T--)
{
//scanf("%lld%lld",&n,&m);
cin>>n>>m;
//gcd=n lcm=m
if (m%n!=)
printf("0\n");
else
{
LL ans=;
LL N=m/n;
LL i,Tm;
LL T=sqrt(N*1.0);
for (i=;i<=T;i++)
{
if (N%i==)
{
Tm=N/i;
if (gcd(Tm,i)==)
ans++;
}
}
cout<<ans<<endl;
}
} return ;
}

O

很水的找规律题啦~

 #include <iostream>
#include <cstdio>
using namespace std; long long N,M,tm; int main()
{
while(~scanf("%lld",&N))
{
M=N/;
tm=N%; //0,1,2
M=M*;
if (tm==) M++;
printf("%lld\n",M);
}
return ;
}

GDUT校赛的更多相关文章

  1. 2015 GDUT校赛

    周末打了个GDUT的校赛,也是作为SCAU的一场个人排位. 比赛中竟然卡了个特判,1个半钟就切了5条了,然后一直卡. 还有其他两条可以做的题也没法做了,性格太执着对ACM来说也是错呀. 讲回正题 . ...

  2. GDUT 校赛02 dp回文串

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABSkAAAIhCAIAAAAtmainAAAgAElEQVR4nOzdfaxkd33n+ZJacstqa3 ...

  3. GDUT 校赛01 dp

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABT8AAAILCAIAAAChHn9YAAAgAElEQVR4nOy9f4il13nneUGgxrRYux ...

  4. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  5. SCNU省选校赛第二场B题题解

    今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...

  6. 2014上半年acm总结(1)(入门+校赛)

    大一下学期才开始了acm,不得不说有一点迟,但是acm确实使我的生活充实了很多,,不至于像以前一样经常没事干=  = 上学期的颓废使我的c语言学的渣的一笔..靠考前突击才基本掌握了语法 寒假突然醒悟, ...

  7. 2017CUIT校赛-线上赛

    2017Pwnhub杯-CUIT校赛 这是CUIT第十三届校赛啦,也是我参加的第一次校赛. 在被虐到崩溃的过程中也学到了一些东西. 这次比赛是从5.27早上十点打到5.28晚上十点,共36小时,中间睡 ...

  8. HZNU第十二届校赛赛后补题

    愉快的校赛翻皮水! 题解 A 温暖的签到,注意用gets #include <map> #include <set> #include <ctime> #inclu ...

  9. 校赛F

    问题描述 例如对于数列[1 2 3 4 5 6],排序后变为[6 1 5 2 4 3].换句话说,对于一个有序递增的序列a1, a2, a3, ……, an,排序后为an, a1, an-1, a2, ...

随机推荐

  1. Lowest Common Ancestor of a Binary Tree

    Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...

  2. C# 利用反射动态将字符串转换成属性对应的类型值

    /// <summary> /// 为指定对象分配参数 /// </summary> /// <typeparam name="T">对象类型& ...

  3. innerHeight,clientHeight,offsetHeight,scrollWidth等的区别和用法

    要理解这几个属性,首先要搞明白body,documentElement的区别 1.body是DOM对象里的body子节点,即<body>标签2.documentElement是整个节点树的 ...

  4. poj 1324 Holedox Moving

    poj 1324 Holedox Moving 题目地址: http://poj.org/problem?id=1324 题意: 给出一个矩阵中,一条贪吃蛇,占据L长度的格子, 另外有些格子是石头, ...

  5. 东大OJ-Prim算法

    1222: Sweep the snow 时间限制: 1 Sec  内存限制: 128 MB 提交: 28  解决: 18 [提交][状态][讨论版] 题目描述 After the big big s ...

  6. MAC中查看Python安装路径

    [admin@admindeMac:~]which  Python /usr/bin/Python

  7. Android下的数据储存方式(三)

      Android下最好的数据储存方式:关系型数据库sqlite.   数据库的创建:使用SqliteOpenHelper类 结合SqliteOpenHelper类和SQLiteDatabase类的帮 ...

  8. Android获取屏幕宽度、高度的4种方法

    记录学习之用,有相同的问题可以参考 方法一: WindowManager wm = (WindowManager) this .getSystemService(Context.WINDOW_SERV ...

  9. 51nod 1163贪心

    用优先队列来贪心,是一个很好地想法.优先队列在很多时候可以维护最值,同时可以考虑到一些其他情况. http://www.51nod.com/onlineJudge/questionCode.html# ...

  10. Shiro 学习笔记(二)——shiro身份验证

    身份验证: 在应用中证明他就是他本人.一般上用身份证.用户/密码 来证明. 在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身 ...