C. Reducing Fractions
来源:互联网 发布:淘宝软件 编辑:程序博客网 时间:2024/06/01 21:56
该题的思路来自:http://blog.csdn.net/acm_ted/article/details/7966780
C. Reducing Fractions
比较好的素因子分解的方法,就是每个数记录该数的最大素因子,这样只要预处理后每个数只要最多十几次运算就可以将10^7以内的数素因子分解了
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const int maxn=10000010;int prime[maxn],a[100001],b[100001],n,m;int up[maxn],down[maxn];void init(){ for(int i=2;i<maxn;i++) if(!prime[i]){ prime[i]=i; for(int j=2*i;j<maxn;j+=i) prime[j]=i; }}int main(){ init(); while(scanf("%d%d",&n,&m)==2) { for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=0;i<m;i++) scanf("%d",&b[i]); memset(up,0,sizeof(up)); memset(down,0,sizeof(down)); for(int i=0;i<n;i++) for(int j=a[i];j>1;j/=prime[j]) up[prime[j]]++; for(int i=0;i<m;i++) for(int j=b[i];j>1;j/=prime[j]) down[prime[j]]++; //cout<<up[2]<<" "<<up[5]<<endl; //cout<<down[2]<<" "<<down[5]<<endl; printf("%d %d\n",n,m); for(int i=0;i<n;i++) { int tmp=1; for(int j=a[i];j>1;j/=prime[j]) if(down[prime[j]]>0) down[prime[j]]--; else tmp*=prime[j]; if(i) putchar(' '); printf("%d",tmp); } puts(""); for(int i=0;i<m;i++) { int tmp=1; for(int j=b[i];j>1;j/=prime[j]) if(up[prime[j]]>0) up[prime[j]]--; else tmp*=prime[j]; if(i) putchar(' '); printf("%d",tmp); } puts(""); } return 0;}
- C. Reducing Fractions
- CodeForces 222C Reducing Fractions
- codeforces 222C C. Reducing Fractions(数论+构造)
- 【44.64%】【codeforces 743C】Vladik and fractions
- 数学题(Vladik and fractions,743C)
- codeforces 743 C. Vladik and fractions(构造)
- 743C. Vladik and fractions codeforces
- CodeForces-743C Vladik and fractions(构造)
- 【Codeforces 743C Vladik and fractions】
- codeforces 743 C. Vladik and fractions (数学)
- Codeforces Round #384(Div. 2)C. Vladik and fractions【数学】
- Codeforces Round #384 (Div. 2) C Vladik and fractions
- Codeforces Round #384 (Div. 2)-C. Vladik and fractions
- Codeforces 743C-Vladik and fractions(构造)
- codeforce 743 C. Vladik and fractions (数学构造)
- Codeforces 743C Vladik and fractions(数学)
- Codeforces Round #384 (Div. 2) C. Vladik and fractions
- codeforces 743-C. Vladik and fractions(构造)
- 9-12泛型 上课笔记 练习题
- MFC多线程编程注意事项
- Sql Server数据库版本和数据库连接字符串简单介绍
- objective-c指UITabelView
- 用多媒体学Visual C++ 2008[转]
- C. Reducing Fractions
- android 多媒体部分学习十四---网络视频播放(http/rtsp)
- 曲昌春独家:一场由彩票赊销引起的口水战
- Excel用法
- C++ XML解析之TinyXML篇
- 我指间的刺青是对你的誓言
- arm平台swap分区
- oracle存储过程一(返回单条记录的值)
- Zend_Db -> Zend_Db_Adapter