Hankson 的趣味题
题解:
硬是把一道傻逼题写到了200行。。
长长的模板就有70行。。
由于我没有做的时候觉得并不保证$a1|a0$ $b0|b1$ 然后就加了很多特判。。
我的做法就是暴力分解质因数
T*sqrt(n)/log(n)
#include <bits/stdc++.h>
using namespace std;
#define rint register int
#define rg register
#define IL inline
#define ll long long
#define rep(i,h,t) for (int i=h;i<=t;i++)
#define dep(i,t,h) for (int i=t;i>=h;i--)
#define setit set<int>::iterator
#define fi first
#define se second
#define mp make_pair
#define me(x) memset(x,0,sizeof(x))
#define mid ((h+t)>>1)
#define mid2 ((h+t+1)>>1)
char ss[<<],*A=ss,*B=ss;
IL char gc()
{
return A==B&&(B=(A=ss)+fread(ss,,<<,stdin),A==B)?EOF:*A++;
}
template<class T>void read(T &x)
{
rint f=,c; while (c=gc(),c<||c>) if (c=='-') f=-; x=(c^);
while (c=gc(),c>&&c<) x=(x<<)+(x<<)+(c^); x*=f;
}
char sr[<<],z[]; int Z,C=-;
template<class T>void wer(T x)
{
if (x<) sr[++C]='-',x=-x;
while (z[++Z]=x%+,x/=);
while (sr[++C]=z[Z],--Z);
}
IL void wer1()
{
sr[++C]=' ';
}
IL void wer2()
{
sr[++C]='\n';
}
template<class T>IL void maxa(T &x,T y)
{
if (x<y) x=y;
}
template<class T>IL void mina(T &x,T y)
{
if (x>y) x=y;
}
template<class T>IL T MAX(T x,T y)
{
return x>y?x:y;
}
template<class T>IL T MIN(T x,T y)
{
return x<y?x:y;
}
const int N=5e4;
const int M=N+1e3;
int f[M],cnt,g1[M],g2[M],g3[N],g4[N];
bool t[M],tt;
IL int fj(int *a,int b)
{
rep(i,,cnt)
while (b%f[i]==) a[i]++,b/=f[i];
return b;
}
IL void prf()
{
wer(); wer2();
tt=;
}
int main()
{
freopen("1.in","r",stdin);
freopen("1.out","w",stdout);
rep(i,,N)
if (!t[i])
{
for (int j=;j*i<=N;j++) t[i*j]=;
}
rep(i,,N) if (!t[i]) f[++cnt]=i;
int n,a0,a1,b0,b1;
read(n);
rep(i,,n)
{
read(a0); read(a1); read(b0); read(b1);
rep(j,,cnt) g1[j]=g2[j]=g3[j]=g4[j]=;
int t1,t2,t3,t4;
t1=fj(g1,a0); t2=fj(g2,a1);
t3=fj(g3,b0); t4=fj(g4,b1);
ll ans=;
tt=;
rep(i,,cnt)
{
if (g1[i]<g2[i]||g3[i]>g4[i])
{
prf(); break;
}
if (g1[i]>g2[i])
{
if (g3[i]<g4[i])
if (g4[i]!=g2[i])
{
prf(); break;
}
if (g3[i]==g4[i])
{
if (g3[i]<g2[i])
{
prf(); break;
}
}
} else
{
if (g3[i]<g4[i])
if (g4[i]<g2[i])
{
prf(); break;
}
if (g3[i]==g4[i])
{
if (g3[i]<g2[i])
{
prf(); break;
} else
{
ans*=(g3[i]-g2[i]+);
}
}
}
}
if (tt) continue;
if (t2!=)
{
if (t1!=t2)
{
prf();
} else
{
if ((t3!=&&t3!=t2)||(t4!=t2)) prf();
else wer(ans),wer2();
}
} else
{
if (t1==)
{
if (t4==&&t3==)
{
wer(ans); wer2();
} else
if (t4==&&t3!=)
{
prf();
} else
if (t4!=&&t3==)
{
wer(ans); wer2();
} else
{
if (t4==t3) wer(ans*),wer2();
else prf();
}
} else
{
if (t4==&&t3==)
{
wer(ans); wer2();
} else
if (t4==&&t3!=)
{
prf();
} else
if (t4!=&&t3==)
{
if (t1!=t4) wer(ans),wer2();
else prf();
} else
{
if (t3==t4)
if (t3!=t1) wer(ans*),wer2();
else wer(ans),wer2();
else prf();
}
}
}
}
fwrite(sr,,C+,stdout);
return ;
}
Hankson 的趣味题的更多相关文章
- 算法训练 Hankson的趣味题
算法训练 Hankson的趣味题 时间限制:1.0s 内存限制:64.0MB 问题描述 Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Han ...
- 1172 Hankson 的趣味题[数论]
1172 Hankson 的趣味题 2009年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Descrip ...
- 1172 Hankson 的趣味题
1172 Hankson 的趣味题 2009年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Descrip ...
- Codevs 1172 Hankson 的趣味题 2009年NOIP全国联赛提高组
1172 Hankson 的趣味题 2009年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description Hanks 博 ...
- 一本通1626【例 2】Hankson 的趣味题
1626:[例 2]Hankson 的趣味题 题目描述 Hanks 博士是BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫Hankson.现在,刚刚放学回家的Hankson 正在思考 ...
- 洛谷 P1072 Hankson 的趣味题 解题报告
P1072 \(Hankson\)的趣味题 题目大意:已知有\(n\)组\(a0,a1,b0,b1\),求满足\((x,a0)=a1\),\([x,b0]=b1\)的\(x\)的个数. 数据范围:\( ...
- CH3201 Hankson的趣味题
题意 3201 Hankson的趣味题 0x30「数学知识」例题 描述 Hanks博士是BT(Bio-Tech,生物技术)领域的知名专家,他的儿子名叫Hankson.现在,刚刚放学回家的Hankson ...
- luogu P1072 Hankson的趣味题
题目链接 luogu P1072 Hankson 的趣味题 题解 啊,还是noip的题好做 额,直接推式子就好了 \(gcd(x,a_0)=a_1=gcd(\frac{x}{a_1},\frac{a_ ...
- 洛谷P1072 Hankson 的趣味题
P1072 Hankson 的趣味题 题目描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现在,刚刚放学回家的 Hankson 正在思考一 ...
- NOIP 2009 Hankson 的趣味题
洛谷 P1072 Hankson 的趣味题 洛谷传送门 JDOJ 1648: [NOIP2009]Hankson的趣味题 T2 JDOJ传送门 Description Hanks 博士是BT (Bio ...
随机推荐
- hibernate框架学习之主键生成策略generator
1)手工控制 assigned(不限制类型) 2)数据库自动生成 uuid(字符串类型) increment(整型数值类型) identity (整型数值类型) sequence (整型数值类型) n ...
- 专题:CF图论杂题
题目是来自HZW的博客(构造题我是各种不会...) Solved 1 / 1 A CodeForces 500A New Year Transportation Solved 1 / 1 B Code ...
- linux 提高代码质量的工具
很多IT公司对于软件开发都有严格的分工,这包括设计.测试.服务支持等等.但是,我一直都认为只有开发者才是真正对软件质量负责的人.没有好的软件设计,软件质量基本上是无从谈起.当然,要做到这一点是需要额外 ...
- POJ 1006 同余方程组
以前的做法 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring& ...
- 前端 ----jQuery操作表单
05-使用jQuery操作input的value值 表单控件是我们的重中之重,因为一旦牵扯到数据交互,离不开form表单的使用,比如用户的注册登录功能等 那么通过上节知识点我们了解到,我们在使用j ...
- String类型作为方法的形参
代码: public class TestString { String str = new String("good"); char [] ch = {'a','b','c'}; ...
- Python-WEB -VUE初识
走进Vue_渐进式 JavaScript 框架 通过对框架的了解与运用程度,来决定其在整个项目中的应用范围,最终可以独立以框架方式完成整个web前端项目 what -- 什么是Vue 可以独立完成前后 ...
- Python traceback的优雅处理
刚接触Python的时候,简单的异常处理已经可以帮助我们解决大多数问题,但是随着逐渐地深入,我们会发现有很多情况下简单的异常处理已经无法解决问题了,如下代码,单纯的打印异常所能提供的信息会非常有限. ...
- 安娜Anna:世界最快的超级伸缩的KVS, 秒杀Redis
伯克利 这个大学在计算机学术界.工业界的地位举足轻重,其中的AMP实验室曾开发出了一大批大获成功. 对计算机行业产生深远影响的分布式计算技术,包括 Spark.Mesos.Tachyon 等.作为AM ...
- flask 中orm关系映射 sqlalchemy的查询
flask的orm框架(SQLAlchemy)-一对多查询以及多对多查询 一对多,多对多是什么? 一对多.例如,班级与学生,一个班级对应多个学生,或者多个学生对应一个班级. 多对多.例如,学生与课 ...