UVA_1575
https://vjudge.net/problem/UVA-1575
枚举答案(k)、、对k质因数分解,质数的指数为cnt[i],若n==A(tot_cnt,tot_cnt) / A(cnt[i]>1),则该ans=k
#include <cstring>
#include <cstdio> #define LL long long
inline void read(LL &x)
{
x=; register char ch=getchar();
for(; ch>''||ch<''; ) ch=getchar();
for(; ch>=''&&ch<=''; ch=getchar()) x=x*+ch-'';
}
const int N(1e6+);
LL n,m,k,cnt[N],num,tmp;
inline LL check(LL x)
{
num=tmp=; memset(cnt,,sizeof(cnt));
for(LL i=; i<=x; ++i)
{
if(x%i==)
{
cnt[++num]++;
for(x/=i; x%i==; )
x/=i,cnt[num]++;
}
}
for(LL i=; i<=num; ++i) tmp+=cnt[i];
LL tot=;
for(LL i=; i<=tmp; ++i) tot*=i;
for(LL i=; i<=num; ++i)
if(cnt[i]>) for(LL j=; j<=cnt[i]; ++j) tot/=j;
return tot;
}
int Presist()
{
freopen("C.in","r",stdin);
freopen("C.out","w",stdout);
read(n);
for(k=; k<N; ++k)
if(check(k)==n) break;
printf("%d\n",k);
return ;
} int Aptal=Presist();
int main(int argc,char*argv[]){;}
20分。
搜索、记录当前的方案数,合成的k,指数质数上限,要使用的质数,质数个数
从最小的质数开始枚举,可以发现,方案数与质数的指数和有关,
假设前i-1个种质数用了k个,有cnt种方案,第i种质数选a个,
那么前i种质数的方案就有cnt*c[k+a][a]
要求k最小,则小的质数指数越小越好、
#include <cstdio> typedef unsigned long long LL;
int p[]={,,,,,,,,,,,,,,,,,,,};
LL ans,n,c[][]; void DFS(LL k,LL cnt,int lim,int num,int tot)
{
if(k>ans) return ;
if(cnt==n) { ans=k; return ; }
if(num>=||cnt>n) return ;
LL tmp=;
for(int i=; i<=lim; ++i)
{
tmp*=p[num];
if(k>ans/tmp) return ;
DFS(k*tmp,cnt*c[tot+i][i],i,num+,tot+i);
}
} int Presist()
{
c[][]=;
for(int i=; i<; ++i)
{
c[i][]=;
for(int j=; j<=i; ++j)
c[i][j]=c[i-][j-]+c[i-][j];
}
for(;~scanf("%lld",&n); )
{
if(n==)
{ printf("1 2\n");continue; }
ans=(LL)<<;
DFS(,,,,);
printf("%lld %lld\n",n,ans);
}
return ;
} int Aptal=Presist();
int main(int argc,char*argv[]){;}
UVA_1575的更多相关文章
随机推荐
- 使用Redis存储Nginx+Tomcat负载均衡集群的Session
配置Tomcat的session共享可以有三种解决方案: 第一种是以负载均衡服务器本身提供的session共享策略,每种服务期的配置是不一样的并且nginx本身是没有的. 第二种是利用web容器本身的 ...
- hdu5922Minimum’s Revenge
Minimum's Revenge Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others ...
- 题解报告:hdu 2588 GCD(欧拉函数)
Description The greatest common divisor GCD(a,b) of two positive integers a and b,sometimes written ...
- 转发:吐血总结,彻底明白 python3 编码原理
吐血总结,彻底明白 python3 编码原理 写的不错,转发学习一下,侵删.. 原文地址https://zhuanlan.zhihu.com/p/40834093 防止原文看不到了 这里粘贴复制一下: ...
- ibatis入门教程一
这几天研究ibatis玩,参考一篇贴子进行安装配置:蓝雪森林 选择这个帖子来跟随配置是因为这个帖子看着比较干净,但是我仍旧在配置得过程中出现了好几个问题,所以我决定在这个帖子的基础上将更多细节加上,做 ...
- 记一次java应用cpu利用率过高调试经历
1,现象 写的一个storm应用,主要是通过mysql的binlog来同步表到hbase.运行一段时间后发现,经常会出现cpu使用率飙升到200%以上,然后各种消息堆积报警等等出现各种问题 2,调研过 ...
- nw.js开发第一个程序(html开发桌面程序exe)
一.环境配置 windows系统 cnpm install node 下载nw.js https://github.com/nwjs/nw.js 找到download下载合适的版本 二.开发 项目目录 ...
- Java学习4_一些基础4_输入输出_16.5.7
读取输入: 想从控制台进行输入,首先需要构造一个Scanner对象,并与“标准输入流”System.in关联. Scanner in=new Scanner(System.in); String na ...
- 个人作业Alpha项目测试
这个作业属于哪个课程 软件工程原理 这个作业要求在哪里 作业要求 团队名称 TEAMPANTHER 这个作业的目标 每个同学必须选取非自己所在团队的3个项目进行测试. 在你所测试的项目的Alpha发布 ...
- list.sort结果是None
错误原因: list.sort()功能是针对列表自己内部进行排序, 不会有返回值, 因此返回为None. 举例说明: In [19]: a=["a","c" ...