【hdu】4228 Flooring Tiles【反素数】

原创 2016年06月01日 00:24:28
题意:

求用最少的单位正方形拼出n个不同的矩形,求所需的单位正方形数

题解:

我们知道一个数的因子个数为2*n或者2*n-1个的话就能拼出n个不同的矩形,用求反素数的方法,也就是说求最小因子数为2*n或2*n-1的数

#include<cstdio>
#include<iostream>
using namespace std;
#define ll __int64
int p[16]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53};
int n;
ll ans;
void dfs(int dep,int limit,ll tmp,int num)
{
    if(num>n<<1) return;
    if((num==2*n||num==2*n-1)&&ans>tmp){ans=tmp;return;}
    for(int i=1;i<=63;i++){
        if(ans/p[dep]< tmp) break;
        dfs(dep+1,i,tmp*= p[dep],num*(i+1));
    }
}

int main()
{
    while(cin>>n&&n){
        ans=1e18;
        dfs(0,60,1,1);
        cout<<ans<<endl;
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

hdu4228 (反素数)

题意:给你一个数N,找出一个最小的可以拆分成N种乘积表达形式的数x Sample Input 2 16 19 0Sample Output 4 840 786432思路:比如N=2,6...

HDU 4228 Flooring Tiles 反素数

推出了结论,万万没想到最后用搜索。。 还想dp来着。。 #include #include #include #include #include #include #include ...

ZOJ 2562 HDU 4228 反素数

反素数: 对于任何正整数x,起约数的个数记做g(x).例如g(1)=1,g(6)=4. 如果某个正整数x满足:对于任意i(0 ZOJ 2562 反素数 因为写了POJ 2886的线段树...

hdu 4228 反素数

学习反素数

ACM-ICPC 2011 Asia Phuket Regional [J] Consecutive Sums

ACM-ICPC 2011 Asia Phuket Regional [J] Consecutive Sums Also bnu 12614 作为没有oi背景的大四生因为被拉去充数组队,只是为了突击...

hdu - 4228 - Flooring Tiles - dfs

对于任何正整数x,起约数的个数记做g(x).例如g(1)=1,g(6)=4. 如果某个正整数x满足:对于任意i(0 现在给一个N,求出不超过N的最大的反素数. 比如:输入1000 输出 840 ...

反素数的应用 hdu4228 zoj2562

问题描述: 对于任何正整数x,起约数的个数记做g(x).例如g(1)=1,g(6)=4. 如果某个正整数x满足:对于任意i(0 现在给一个N,求出不超过N的最大的反素数. 比如...

hdu4542 小明系列故事——未知剩余系(反素数打表待改!!不会!!)

http://acm.hdu.edu.cn/showproblem.php?pid=4542 这道题时间卡的也太紧了换着打了几种表都不行,看了下别人的表打的都莫名其妙,里面的剪枝也被弄懂,直接绕...

HDU4542小明系列故事——未知剩余系 (反素数+DFS+打表)

小明系列故事——未知剩余系 Time Limit : 500/200ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total...

HDU2521 反素数【因子数量+打表】

反素数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)