题目链接: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. (原创)解决Excel 互操作错误"检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005"

    最近在.net中处理Excel文件数据导入时报出以下错误: 检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下 ...

  2. .net RPC框架选型

    近期开始研究分布式架构,会涉及到一个最核心的组件:RPC(Remote Procedure Call Protocol).这个东西的稳定性与性能,直接决定了分布式架构系统的好坏.RPC技术,我们的产品 ...

  3. Datatable删除行的Delete和Remove方法

    在C#中,如果要删除DataTable中的某一行,大约有以下几种办法: 1,使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(ind ...

  4. Linux下网络流量实时监控工具

    Linux下网络流量实时监控工具大全 在工作中发现,经常因为业务的原因,需要即时了解某台服务器网卡的流量,虽然公司也部署了cacti软件,但cacti是五分钟统计的,没有即时性,并且有时候打开监控页面 ...

  5. dinic模板

    procedure addedge(u,v,cap:longint); begin sid[tot].u:=u; sid[tot].v:=v; sid[tot].cap:=cap; sid[tot]. ...

  6. 使用 Eclipse 调试 Java 程序的技巧

    你应该看过一些如<关于调试的N件事>这类很流行的帖子 .假设我每天花费1小时在调试我的应用程序上的话,那累积起来的话也是很大量的时间.由于这个原因,用这些时间来重视并了解所有使我们调试更方 ...

  7. JavaScript学习笔记-随滚轮匀速滑动的浮动广告窗动画

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  8. 记一次在Eclipse中用Axis生成webservice服务端的过程中出现的问题

    问题一. Unable to find config file.  Creating new servlet engine config file: /WEB-INF/server-config.ws ...

  9. 【Python】[函数式编程]高阶函数,返回函数,装饰器,偏函数

    函数式编程高阶函数 就是把函数作为参数的函数,这种抽象的编程方式就是函数式编程.--- - -跳过,不是很理解,汗 - ---

  10. iOS- -安装cocopods

    已经不是第一次安装cocoapods了, 但是今天在自己的mac pro 安装cocoapods 出现了 Error installing pods:active support requires R ...