• hdu_5878_I Count Two Three(预处理)


    题目链接:hdu_5878_I Count Two Three

    题意:

    给你一个n,让你找满足那个式子的不比n小的最小数

    题解:

    先上个预处理,然后二分查找就行

     1 #include<bits/stdc++.h>
     2 #define F(i,a,b) for(int i=a;i<=b;i++)
     3 using namespace std;
     4 typedef long long ll;
     5 ll dt[100000],ed;
     6 
     7 ll pow_(ll a,ll k)
     8 {
     9     ll an=1;
    10     while(k){if(k&1)an*=a;k>>=1,a*=a;}
    11     return an;
    12 }
    13 
    14 int main()
    15 {
    16     ll a,b,c,d;
    17     F(i,0,40)
    18     {
    19         a=pow_(2,i);
    20         if(a>1e9)continue;
    21         F(j,0,40)
    22         {
    23             b=pow_(3,j);
    24             if(b>1e9||a*b>1e9)continue;
    25             F(k,0,40)
    26             {
    27                 c=pow_(5,k);
    28                 if(c>1e9||a*b*c>1e9)continue;
    29                 F(l,0,40)
    30                 {
    31                     d=pow_(7,l);
    32                     if(d>1e9||a*b*c*d>1e9)continue;
    33                     dt[++ed]=a*b*c*d;
    34                 }
    35             }
    36         }
    37     }
    38     sort(dt+1,dt+1+ed);
    39     int t,n;
    40     scanf("%d",&t);
    41     while(t--)scanf("%d",&n),printf("%lld
    ",dt[lower_bound(dt+1,dt+1+ed,n)-dt]);
    42     return 0;
    43 }
    View Code
  • 相关阅读:
    4.比赛F
    4.M
    4.H
    4.J
    4.G
    4.D
    4.C
    UVA 215 Spreadsheet Calculator (模拟)
    POJ 3469 Dual Core CPU(最小割模型的建立)
    POJ 3281 Dining(网络流最大匹配)
  • 原文地址:https://www.cnblogs.com/bin-gege/p/5890022.html
Copyright © 2020-2023  润新知