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 ...
随机推荐
- 当IDENTITY_INSERT设置为OFF时不能向表插入显示值。(源:MSSQLServer,错误码:544)
错误提示"事务和快照同步时提示:当IDENTITY_INSERT设置为OFF时不能向表插入显示值.(源:MSSQLServer,错误码:544)" 原因:在SQL2008同步时到S ...
- Java压缩多个文件并导出
controller层: /** * 打包压缩下载文件 */ @RequestMapping(value = "/downLoadZipFile") public void dow ...
- jQuery Form
https://github.com/jquery-form/form#type 概念 jQuery表单插件允许您轻松,无差错地升级HTML表单以使用AJAX. 主要方法ajaxForm和ajaxSu ...
- Python之迭代器及生成器
一. 迭代器 1.1 什么是可迭代对象 字符串.列表.元组.字典.集合 都可以被for循环,说明他们都是可迭代的. 我们怎么来证明这一点呢? from collections import Itera ...
- 如何区分不同用户——Cookie/Session机制详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- (转) SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程
简介 spring boot 它的设计目的就是为例简化开发,开启了各种自动装配,你不想写各种配置文件,引入相关的依赖就能迅速搭建起一个web工程.它采用的是建立生产就绪的应用程序观点,优先于配置的惯例 ...
- wordpress的安装及使用
1.如何查看别人的wordpress站点所有的模板 2.如何使用自定义的模板
- 本地blast的安装
1 下载程序 在ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/下载 ncbi-blast-2.2.25+-x64-linux.t ...
- mysql慢日志
mysql慢日志是用来记录执行时间比较长的sql工具(超过long_query_time的sql),这样对于跟踪有问题的sql很有帮助. 查看是否启用慢日志和相关信息 上面截图其中: log_slow ...
- win7 +v Ubuntu 16.04 grub rescue 模式下修复 grub
前几天整理了下电脑的分区,合并并删除一些分区,结果导致 grub 被破坏了,Ubuntu进不去了,启动后直接进入了 rescure 模式.后来又折腾了下,终于修复好了,现总结一下. 先说一下我的系统环 ...