题意:给定n求,有n个因子的最小正整数. 题解:水题,zcr都会,我就不说什么了. 因数个数球求法应该知道,将m分解质因数,然后发现 a1^p1*a2^p2....an^pn这样一个式子, (1+p1)*(1+p2)*...=n,然后用小的质数填坑. #include <bits/stdc++.h> using namespace std; ,,,,,,,,,,,,,,,,}; ], res[], tmp[]; ], mn=DBL_MAX; void input() { scanf("…
15 < log250000 < 16, 所以不会选超过16个质数, 然后暴力去跑dfs, 高精度计算最后答案.. ------------------------------------------------------------------------------ #include<cstdio> #include<algorithm> #include<cstring> #include<cmath>   using namespace…
http://www.lydsy.com/JudgeOnline/problem.php?id=1225 题意:给一个数n,求一个最小的有n个约数的正整数.(n<=50000) #include <bits/stdc++.h> using namespace std; struct inum { static const int N=10005, MOD=10000; int a[N], len; inum(int x=0) { len=!x; memset(a, 0, sizeof a…
1225: [HNOI2001] 求正整数 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 762  Solved: 313[Submit][Status][Discuss] Description 对于任意输入的正整数n,请编程求出具有n个不同因子的最小正整数m.例如:n=4,则m=6,因为6有4个不同整数因子1,2,3,6:而且是最小的有4个因子的整数. Input n(1≤n≤50000) Output m Sample Input 4 Sa…
// 高精度+搜索+质数 BZOJ1225 [HNOI2001] 求正整数 // 思路: // http://blog.csdn.net/huzecong/article/details/8478689 // M=p1^(t1)*p2^(t2)*p3^(t3).... // N=(t1+1)*(t2+1)*(t3+1)*(t4+1)... // 所以t最大到16,就可以暴力搜索了 #include <bits/stdc++.h> using namespace std; #define LL…
LINK:求正整数 比较难的高精度. 容易想到贪心不过这个贪心的策略大多都能找到反例. 考虑dp. f[i][j]表示前i个质数此时n的值为j的最小的答案. 利用高精度dp不太现实.就算上FFT也会T掉. 乘积的形式 我们可以将其变成对数的形式就很容易转移了. 转移时记录决策 然后 最后做一遍高精度即可. 值得一提的是 压位高精度时比如压15为那么最后输出的形式为printf("%015d",ans); 因为%1e15之后有效数位还有15个而并非14个. const int MAXN=…
题目描述 对于任意输入的正整数n,请编程求出具有n个不同因子的最小正整数m. 例如:n=4,则m=6,因为6有4个不同整数因子1,2,3,6:而且是最小的有4个因子的整数. 输入输出格式 输入格式: n(1≤n≤50000) 输出格式: m 输入输出样例 输入样例#1: INT.IN 4 输出样例#1: INT.OUT 6题解: 这道题和[HAOI 2007]反素数ant解题思路和方法简直一毛一样... 同样我们引入这个公式: 对任一整数a>1,有a=p1a1p2a2…pnan,其中p1<p2…
对于任意输入的正整数n,请编程求出具有n个不同因子的最小正整数m. Solution (乍一看很简单却搞了好久?我真是太菜了) 根据因子个数计算公式 若 \(m = \prod p_i^{q_i}\), 则 \(n = \prod (q_i + 1)\) 设 \(f[i][j]\) 为只包含前 \(j\) 个质因数,因子个数为 \(i\) 的最小的数 转移类似背包: \(f[i][j]=min_{k|i} (f[i/k][j-1] \cdot p_j^{k-1})\) 这样直接做是 \(O(n…
传送门 rqy是我们的红太阳没有它我们就会死 可以考虑dp,设\(dp[i][j]\)表示只包含前\(j\)个质数的数中,因子个数为\(i\)的数的最小值是多少,那么有转移方程 \[f[i][j]=min(f[i/k][j-1]\times p_j^{k-1})\] 这玩意儿肯定是不能高精dp的--于是看到乘法就想到对数--根据对数的基本定理,有 \[log\ n=\sum c_i\ log\ p_i\] 那么我们可以改一下转移 \[f[i][j]=min(f[i/k][j-1]+ (k-1)l…
实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 命令行下的程序开发 进入虚拟机终端,mkdir 20155329test cd 20155329test mkdir exp1 cd exp1建立并进入实验一文件夹. 编译,运行 Java程序 使用IDEA编辑.编译.运行.调试Java程序 练习(通过命令行和Eclipse两种方式实现,自己的学号后两位与题目总数取…