zoukankan      html  css  js  c++  java
  • hdoj 4430 Yukari's Birthday

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4430

    解题思路:二分

      1 ///////////////////////////////////////////////////////////////////////////
      2 //problem_id: hdoj 4430
      3 //user_id: SCNU20102200088
      4 ///////////////////////////////////////////////////////////////////////////
      5 
      6 #include <algorithm>
      7 #include <iostream>
      8 #include <iterator>
      9 #include <iomanip>
     10 #include <cstring>
     11 #include <cstdlib>
     12 #include <string>
     13 #include <vector>
     14 #include <cstdio>
     15 #include <cctype>
     16 #include <cmath>
     17 #include <queue>
     18 #include <stack>
     19 #include <list>
     20 #include <set>
     21 #include <map>
     22 using namespace std;
     23 
     24 ///////////////////////////////////////////////////////////////////////////
     25 #pragma comment(linker,"/STACK:1024000000,1024000000")
     26 
     27 #define lson l,m,rt<<1
     28 #define rson m+1,r,rt<<1|1
     29 ///////////////////////////////////////////////////////////////////////////
     30 
     31 ///////////////////////////////////////////////////////////////////////////
     32 const double EPS=1e-8;
     33 const double PI=acos(-1.0);
     34 
     35 const int x4[]={-1,0,1,0};
     36 const int y4[]={0,1,0,-1};
     37 const int x8[]={-1,-1,0,1,1,1,0,-1};
     38 const int y8[]={0,1,1,1,0,-1,-1,-1};
     39 ///////////////////////////////////////////////////////////////////////////
     40 
     41 ///////////////////////////////////////////////////////////////////////////
     42 typedef long long LL;
     43 
     44 typedef int T;
     45 T max(T a,T b){ return a>b? a:b; }
     46 T min(T a,T b){ return a<b? a:b; }
     47 T gcd(T a,T b){ return b==0? a:gcd(b,a%b); }
     48 T lcm(T a,T b){ return a/gcd(a,b)*b; }
     49 ///////////////////////////////////////////////////////////////////////////
     50 
     51 ///////////////////////////////////////////////////////////////////////////
     52 //Add Code:
     53 LL power(LL a,LL n){
     54     LL ret=1;
     55     while(n){
     56         if(n&1) ret*=a;
     57         a*=a;
     58         n>>=1;
     59     }
     60     return ret;
     61 }
     62 
     63 LL cal(LL r,LL k){
     64     return (power(k,r+1)-k)/(k-1);
     65 }
     66 
     67 LL erfen(LL r,LL n){
     68     LL L=2,R=(LL)pow(n,1.0/r);
     69     while(R>=L){
     70         LL M=(L+R)/2,temp=cal(r,M);
     71         if(temp==n || temp==n-1) return M;
     72         if(temp>n) R=M-1;
     73         else L=M+1;
     74     }
     75     return -1;
     76 }
     77 ///////////////////////////////////////////////////////////////////////////
     78 
     79 int main(){
     80     ///////////////////////////////////////////////////////////////////////
     81     //Add Code:
     82     LL n;
     83     while(scanf("%I64d",&n)!=EOF){
     84         LL r=1,k=n-1;
     85         for(LL i=2;i<=40;i++){
     86             LL j=erfen(i,n);
     87             if(j!=-1 && i*j<r*k){
     88                 r=i;
     89                 k=j;
     90             }
     91         }
     92         printf("%I64d %I64d
    ",r,k);
     93     }
     94     ///////////////////////////////////////////////////////////////////////
     95     return 0;
     96 }
     97 
     98 ///////////////////////////////////////////////////////////////////////////
     99 /*
    100 Testcase:
    101 Input:
    102 18
    103 111
    104 1111
    105 Output:
    106 1 17
    107 2 10
    108 3 10
    109 */
    110 ///////////////////////////////////////////////////////////////////////////
  • 相关阅读:
    分布式系统消息中间件——RabbitMQ的使用思考篇
    分布式系统消息中间件——RabbitMQ的使用进阶篇
    软件(敏捷)开发中工作量与工时评估模型
    3.1依赖注入「深入浅出ASP.NET Core系列」
    2.5配置的框架浅析「深入浅出ASP.NET Core系列」
    2.4配置的热更新「深入浅出ASP.NET Core系列」
    2.3Options建立配置和实体的映射「深入浅出ASP.NET Core系列」
    2.2Bind建立配置文件和实体的映射「深入浅出ASP.NET Core系列」
    2.1命令行和JSON的配置「深入浅出ASP.NET Core系列」
    1.5准备CentOS和Nginx环境「深入浅出ASP.NET Core系列」
  • 原文地址:https://www.cnblogs.com/linqiuwei/p/3318487.html
Copyright © 2011-2022 走看看