bzoj 1225: [HNOI2001] 求正整数
来源:互联网 发布:域名不合法是怎么回事 编辑:程序博客网 时间:2024/06/07 17:54
题意:
求出具有n个不同因子的最小正整数m。
题解:
显然可以枚举因数爆搜,然而不会比大小。
于是学了对数,很好用。
这篇不错
code:
#include<cmath>#include<cfloat>#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>using namespace std;int n,ans[100005],res[21],tmp[21],pri[]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53};double mn=DBL_MAX,lg[21];void print(){ ans[0]=ans[1]=1; for(int i=1;i<=16;i++) for(;res[i]>0;res[i]--) { for(int j=1;j<=ans[0];j++) ans[j]*=pri[i]; for(int j=1;j<=ans[0];j++) ans[j+1]+=ans[j]/10,ans[j]%=10; if(ans[ans[0]+1]!=0) ans[0]++; while(ans[ans[0]]/10!=0) ans[ans[0]+1]+=ans[ans[0]]/10,ans[ans[0]]%=10,++ans[0]; } for(int i=ans[0];i>=1;i--) printf("%d",ans[i]); printf("\n");}void dfs(double x,int y,int z){ if(x>mn) return; if(y==1) { mn=x; memset(res,0,sizeof(res)); for(int i=1;i<z;i++) res[i]=tmp[i]; return; } if(z>16) return; for(int i=0;(i+1)*(i+1)<=y;i++) if(y%(i+1)==0) { if(i!=0) { tmp[z]=i; dfs(x+lg[z]*i,y/(i+1),z+1); } if((i+1)*(i+1)!=y) { tmp[z]=y/(i+1)-1; dfs(x+lg[z]*(y/(i+1)-1),i+1,z+1); } }}int main(){ scanf("%d",&n); for(int i=1;i<=16;i++) lg[i]=log(pri[i]); dfs(0,n,1); print();}
阅读全文
1 0
- BZOJ 1225: [HNOI2001] 求正整数
- bzoj 1225: [HNOI2001] 求正整数
- 1225: [HNOI2001] 求正整数
- BZOJ 1225: [HNOI2001] 求正整数 数论,爆搜剪枝
- BZOJ1225 [HNOI2001]求正整数
- bzoj1225: [HNOI2001] 求正整数
- bzoj1225: [HNOI2001] 求正整数
- 【HNOI2001】洛谷3184 求正整数
- 洛谷 P1128 [HNOI2001] 求正整数
- [HNOI2001][luogu1128][bzoj1225] 求正整数
- 洛谷 P1128 [HNOI2001]求正整数
- 数学——洛谷P1128 [HNOI2001]求正整数
- bzoj1225 [HNOI2001] 求正整数 约数个数定理+对数
- 【bzoj 1222】: [HNOI2001]产品加工
- bzoj 1221: [HNOI2001] 软件开发
- BZOJ 1222 [HNOI2001]产品加工
- BZOJ P1222[HNOI2001]产品加工
- 【bzoj 1222】 [HNOI2001]产品加工
- 使用atom编辑适用于github的.md
- js如何实现不能文本框粘贴
- mCustomScrollbar.js自定义滚动条…
- [codeforces#438 E题]Policeman and a Tree
- Struts2框架详细解析
- bzoj 1225: [HNOI2001] 求正整数
- Wpf Windows SizeToContent
- 避免 php-fpm 耗尽内存导致宕机
- Python(0):Python基础知识
- Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))
- github
- Git学习简单教程
- sql语句的增删改查
- 【并行计算-CUDA开发】FPGA 设计者应该学习 OpenCL及爱上OpenCL的十个理由