bzoj1225
题解:
数论+报搜
首先套一个计算因子个数的公式
枚举一下这个数
代码:
#include<bits/stdc++.h>
using namespace std;
int n,ans[],res[],tmp[];
int pri[]={,,,,,,,,,,,,,,,,};
double mn=DBL_MAX,lg[];
void dfs(double x,int y,int z)
{
if (x>=mn)return;
if (y==)
{
mn=x;
memset(res,,sizeof(res));
for(int i=;i<=z-;i++)res[i]=tmp[i];
return;
}
if (z>)return;
for (int i=;(i+)*(i+)<=y;i++)
if (y%(i+)==)
{
if (i!=)
{
tmp[z]=i;
dfs(x+lg[z]*i,y/(i+),z+);
}
if ((i+)*(i+)!=y)
{
tmp[z]=y/(i+)-;
dfs(x+lg[z]*(y/(i+)-),i+,z+);
}
}
}
int main()
{
scanf("%d",&n);
for (int i=;i<=;i++)lg[i]=log(pri[i]);
dfs(,n,);
ans[]=ans[]=;
for (int i=;i<=;i++)
for (;res[i]>;res[i]--)
{
for (int j=;j<=ans[];j++)ans[j]*=pri[i];
for (int j=;j<=ans[];j++)ans[j+]+=ans[j]/,ans[j]%=;
if (ans[ans[]+]!=) ans[]++;
while (ans[ans[]]/!=)
ans[ans[]+]+=ans[ans[]]/,ans[ans[]]%=,++ans[];
}
for (int i=ans[];i>=;i--)printf("%d",ans[i]);
return ;
}
bzoj1225的更多相关文章
- 高精度+搜索+质数 BZOJ1225 [HNOI2001] 求正整数
// 高精度+搜索+质数 BZOJ1225 [HNOI2001] 求正整数 // 思路: // http://blog.csdn.net/huzecong/article/details/847868 ...
- 【BZOJ1225】求正整数(数论)
题意:对于任意输入的正整数n,请编程求出具有n个不同因子的最小正整数m. n<=50000 思路:记得以前好像看的是maigo的题解 n即为将m分解为质数幂次的乘积后的次数+1之积 经检验只需要 ...
- bzoj1225 [HNOI2001] 求正整数
1225: [HNOI2001] 求正整数 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 762 Solved: 313[Submit][Statu ...
随机推荐
- 洛谷P2325王室联邦 SCOI2005 构造+树上分块
正解:构造 解题报告: 照例先放传送门 umm其实我jio得这题应该在教树上莫队的时候港,应该是用来帮助理解树上莫队的分块方式的 然而这题是在学了树上分块之后再遇到的?就显得没那么难了吼 然后就随便说 ...
- 154. Find Minimum in Rotated Sorted Array II(剑指offer)
Follow up for "Find Minimum in Rotated Sorted Array":What if duplicates are allowed? Would ...
- jquery实现ajax跨域请求
1.跨域问题: 是因为浏览器的同源策略是对ajax请求进行阻拦了,但是不是所有的请求都给做跨域,像是一般的href属性,a标签什么的都不拦截. 如: 项目一:p1.html <body> ...
- windows server2003+IIS6+PHP5.3.2
windows下搭建PHP环境有很多种方法.传说,FastCGI下运行PHP 是 兼顾安全和效率的一种.传说.传说.下面讲解在windows server2003 IIS6中安装 PHP 以下文字, ...
- RESTful源码笔记之RESTful Framework的Mixins小结
0x00 引言 本篇对drf中的mixins进行简要的分析总结.Mixins在drf中主要配合viewset共同使用,实现http方法与mixins的相关类与方法进行关联. from rest_fra ...
- js中fn()和return fn()的区别
参考文章:http://www.jb51.net/article/87977.htm 这文章中没有讲明白,其实只要把文章里的代码加和不加return调试一下就知道是怎么回事了. var i = 0; ...
- sqlite3 shell方向键、浏览历史命令不能用的问题
在sqlite3 shell下,按上下方向键可以浏览历史命令,按左右方向键则可以将光标移动到命令中任意字符位置,从而可以修改错误的语句或误敲的字符.所以方向键是sqlite3 shell下最常用的功能 ...
- [QA翻译]如何在Storm里拆分stream流?
原文:http://stackoverflow.com/questions/19807395/how-would-i-split-a-stream-in-apache-storm 问题:我现在不清楚如 ...
- Python学习札记(四十三) IO 3
参考:操作文件和目录 NOTE: 1.Python内置的os模块可以直接调用操作系统提供的接口函数: 2.os.name 打印操作系统的名称:如果是posix,说明系统是Linux.Unix或Mac ...
- Android res目录结构
所有以drawable开头的文件夹都是用来放图片的 所有以values开头的文件夹都是用来放字符串的 layout 文件夹是用来放布局文件的 menu 文件夹是用来放菜单文件的.之所以有这么多 dra ...