【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;
}


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

深夜喂一口鸡汤

大三了,半学期已经过去了。 而我,啥也不会。半吊子,因为破事多,常常忘了,要想变得有竞争力,就是投入。 认真地去做一件事,坚持到底,搞清每一个小细节。 否则就等于什么都没做。题量,还不够多,理解...

ZOJ 2562 HDU 4228 反素数

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

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的最大的反素数. 比如...

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

反素数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm...

HDU4392(反素数强大的模版)

题目:Maximum Number Of Divisors import java.io.BufferedInputStream; import java.math.BigInteger;...

【HDU4392】【反素数强大的模版 java或者C++】

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4392 JAVA版本: import java.io.BufferedInputStream; im...

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

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

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

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

HDU 4542 小明系列故事——未知剩余系 (DFS 反素数 筛子预处理)

HDU 4542 小明系列故事——未知剩余系 (DFS 反素数 筛子预处理)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【hdu】4228 Flooring Tiles【反素数】
举报原因:
原因补充:

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