BZOJ3034: Heaven Cow与God Bull
来源:互联网 发布:数据库服务器 编辑:程序博客网 时间:2024/06/04 05:31
根据欧拉函数的表达式我们发现要使答案最大则这个一定有若干个质数相乘
#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;#define ll long longconst ll maxn=1000000;ll prime[maxn+1],tot;bool check[maxn+1];const ll Bt=7;const ll M=10000000;struct H{ ll len; ll A[6001]; H(){len=0;memset(A,0,sizeof(A));} void get() { char c[26001]; scanf("%s",c); ll l=strlen(c); for(ll i=0;i<l;i++)c[i]-='0'; len=l/Bt+(l%Bt?1:0); ll t=l%Bt; if(l%Bt) { for(ll i=l%Bt;i;i--) A[len-1]=A[len-1]*10+c[l%Bt-i]; } else A[len-1]=c[6]+10*(c[5]+c[4]*10+c[3]*100+c[2]*1000+c[1]*10000+c[0]*100000); for(ll i=0;i<len-1;i++) l=(len-i-1)*Bt+(t==0?Bt:t),A[i]=c[l-1]+c[l-2]*10+c[l-3]*100+c[l-4]*1000+c[l-5]*10000+c[l-6]*100000+c[l-7]*1000000; } ll &operator [](ll x){return A[x];} H operator *(ll a){ H c; for(ll j=0;j<len;j++)c[j]=A[j]*a; c.len=len; for(ll i=0;i<c.len||c[i];i++) { c[i+1]+=c[i]/M; c[i]%=M; c.len=max(c.len,i+1); } return c; } void print() { printf("%lld",A[len-1]); for(ll i=len-2;~i;i--) printf("%07lld",A[i]); }};bool cmp(H a,H b){ if(a.len^b.len)return a.len<b.len; for(ll i=a.len-1;~i;i--) if(a[i]^b[i])return a[i]<b[i]; return true;}struct Q{ll no;H A,ans;bool operator <(Q a){return no<a.no;}};bool cmp2(Q a,Q b){return cmp(a.A,b.A);}bool cmp3(Q a,Q b){return a.no<b.no;}Q S[201];char c;int main(){// while(true)// /{// H A;// A.get(); // A.print();// } for(ll i=2;i<=maxn;i++) { if(!check[i])prime[++tot]=i; ll k,j; for(k=prime[j=1]*i;k<=maxn;k=prime[++j]*i) { check[k]=true; if(i%prime[j]==0)break; } } ll n; scanf("%lld",&n); for(ll i=1;i<=n;i++) { S[i].A.get(); S[i].no=i; } sort(S+1,S+1+n,cmp2); H last,no; last.len=1; last[0]=1; no=last; ll pos=1; for(ll i=1;i<=n;i++) { while(cmp(no,S[i].A))last=no,no=no*prime[pos++]; S[i].ans=last; } sort(S+1,S+1+n,cmp3); for(ll i=1;i<=n;i++) S[i].ans.print(),putchar('\n'); return 0;}
0 0
- 【bzoj3034】Heaven Cow与God Bull
- BZOJ3034: Heaven Cow与God Bull
- 【NOIP2013模拟】Heaven Cow与God Bull
- 【Heaven Cow与God Bull】题解
- Heaven
- GOD
- Interview the God 与上帝对话
- 天堂 heaven
- Bull Math
- Tears in heaven
- Tears In Heaven
- Tears in Heaven
- SourceForge - Programmer's Heaven~!
- Stairway To Heaven
- Two Lines In Heaven
- 【模拟】时间计算 heaven
- heaven of shopper,Amsterdam
- God Object
- 外部访问容器
- CentOS 下安装 Node.js
- Android 实现点击震动效果
- 用脚本编译Mac app的环境安装-Maoyingyong
- ok,机房小感
- BZOJ3034: Heaven Cow与God Bull
- Python爬虫实践(七):正则表达式(2) re模块的使用
- Use adb over Wi-Fi
- docker 创建本地镜像服务器
- 解决 flume KafkaSink 启动后cpu占用100%的问题
- 在android studio中将某个module生成jar包,觉得还是直接用aar好
- 学习笔记——c++自定义class用于unordered
- SpringMVC-----Json视图返回@Entity对象报错
- 计算机的高级语言