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的更多相关文章

随机推荐

  1. 洛谷P3371 【模板】单源最短路径(弱化版)(SPFA解法)

    题目背景 本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通过,如有需要请移步 P4779. 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度. 输入输出格式 输 ...

  2. Tomcat6和7版本对web.xml中taglib标签的配置差异

    原来部署在Tomcat6中的应用在Tomcat7中运行时报错如下错误: java.lang.IllegalArgumentException: taglib definition not consis ...

  3. Java 8 (7) 重构、测试和调试

    为改善可读性和灵活性重构代码 看到这里我们已经可以使用lambda和stream API来使代码更简洁,用在新项目上.但大多数并不是全新的项目,而是对现有代码的重构,让它变的更简洁可读,更灵活. 改善 ...

  4. P2P 网络核心技术:Gossip 协议

    背景 Gossip protocol 也叫 Epidemic Protocol (流行病协议),实际上它还有很多别名,比如:“流言算法”.“疫情传播算法”等. 这个协议的作用就像其名字表示的意思一样, ...

  5. Farseer.net轻量级开源框架 入门篇:使用前说明

    导航 目   录:Farseer.net轻量级开源框架 目录 上一篇:Farseer.net轻量级开源框架 入门篇: 框架性能测试 下一篇:Farseer.net轻量级开源框架 入门篇: 增.删.改. ...

  6. oracle查询性能优化

    原文http://www.cnblogs.com/cnjava/archive/2013/02/28/2937699.html 讲解的oracle数据库面对大数据如何优化查询.

  7. miller_rabin_素性测试

    摘自:http://blog.csdn.net/pi9nc/article/details/27209455 看了好久没看懂,最后在这篇博客中看明白了. 费马定理的应用,加上二次探测定理. Ferma ...

  8. SDK_列表控件的使用

    列表控件的使用 列表控件是通用控件,响应WM_NOTIFY 消息 主要包含了 4 种风格,我们学的是 report 风格 如何设置列表的扩展风格 LVS_EX_GRIDLINES: 列表拥有表格线 L ...

  9. 15Oracle Database 索引

    Oracle Database 索引 索引 索引的目的是加快查询速度,就像一本数据的目录一样.建立索引的原则:非常少的DML操作:经常出现在where语句中的字段 2.20.1.建立索引 l  对t_ ...

  10. elk大纲

    一.ELK功能概览 1.检索 2.数据可视化--实时监控(实时刷新) nginx 访问量 ip地区分布图(大数据) 3.zabbix 微信联动报警 4.大数据日志分析平台(基于hadoop) 二.ka ...