hdu 4430 Yukari's Birthday

时间:2021-12-09 01:36:15

思路:

分析知道1<=r<40;所以可以枚举r,之后再二分k。

代码如下:

 #include<iostream>
#include<stdio.h>
#include<algorithm>
#include<iomanip>
#include<cmath>
#include<cstring>
#include<vector>
#define ll __int64
#define M 2011
using namespace std;
ll m,rr,kk,mi,n;
ll pows(ll a,ll b)
{
ll ans=;
while(b){
if(b&) ans=ans*a;
b>>=;
a*=a;
}
return ans;
}
int fun(ll a,ll r)
{
ll ans=(pows(a,r+)-a)/(a-);
if(ans==n||ans==n-){
if(mi>r*a) return ;
else return ;
}
else if(ans>n) return ;
return ;
}
int main(){
ll i,j,k,r,le,ri,mid;
while(scanf("%I64d",&n)!=EOF){
r=(ll)(log2(n+)+)-;
rr=;kk=n-;mi=n-;
for(i=;i<=r;i++){
k=(ll)pow((double)n,1.0/i);//一定满足k^i<n
le=;ri=k;
while(le<=ri){
mid=(le+ri)/;
int t=fun(mid,i);
if(t==){
rr=i;
kk=mid;
}
if(t) ri=mid-;
else le=mid+;
} }
printf("%I64d %I64d\n",rr,kk);
}
return ;
}

hdu 4430 Yukari's Birthday的更多相关文章

  1. HDU 4430 Yukari&&num;39&semi;s Birthday(二分)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4430 题目大意:给定n个蜡烛,围绕蛋糕的中心插同心圆,从里往外分别是第1圈.第2圈....第r圈,第 ...

  2. hdu 4430 Yukari&&num;39&semi;s Birthday 枚举&plus;二分

    注意会超long long 开i次根号方法,te=(ll)pow(n,1.0/i); Yukari's Birthday Time Limit: 12000/6000 MS (Java/Others) ...

  3. hdu 4430 Yukari&&num;39&semi;s Birthday &lpar;简单数学 &plus; 二分&rpar;

    Problem - 4430 题意是,给出蜡烛的数量,要求求出r和k,r是蜡烛的层数,k是每一层蜡烛数目的底数. 开始的时候,没有看清题目,其实中间的那根蜡烛是可放可不放的.假设放置中间的那根蜡烛,就 ...

  4. HDU 4430 Yukari&&num;39&semi;s Birthday &lpar;二分&plus;枚举&rpar;

    题意:给定一个n(18 ≤ n ≤ 10^12),一个等比数列k + k^2 + .......+ k^r = n 或者 = n-1,求出最小的k*r,如果最小的不唯一,则取r更小的 分析:两个未知数 ...

  5. HDU 4430 Yukari&&num;39&semi;s Birthday &lpar;二分&rpar;

    题意:有 n 个蜡烛,让你插到蛋糕上,每一层要插 k^i个根,第0层可插可不插,插的层数是r,让 r * k 尽量小,再让 r 尽量小,求r 和 k. 析:首先先列出方程来,一个是不插的一个是插的,比 ...

  6. HDU - 4430 Yukari&&num;39&semi;s Birthday(二分&plus;枚举)

    题意:已知有n个蜡烛,过生日在蛋糕上摆蜡烛,将蜡烛围成同心圆,每圈个数为ki,蛋糕中心最多可摆一个蜡烛,求圈数r和看,条件为r*k尽可能小的情况下,r尽可能小. 分析:n最大为1012,k最少为2,假 ...

  7. HDU 4430 &amp&semi;amp&semi; ZOJ 3665 Yukari&amp&semi;&num;39&semi;s Birthday&lpar;二分法&plus;枚举&rpar;

    主题链接: HDU:pid=4430" target="_blank">http://acm.hdu.edu.cn/showproblem.php?pid=4430 ...

  8. hdu 4430 二分&plus;枚举

    /* 二分+枚举 枚举k会超时,枚举r还要优化,有可能会超64 */ #include<stdio.h> #include<math.h> #define ll __int64 ...

  9. hdu 1217 (Floyd变形)

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=1217 Arbitrage Time Limit: 2000/1000 MS (Java/Others)   ...

随机推荐

  1. 【OpenWRT】【RT5350】【一】OpenWrt开发环境搭建

    [宿主机构建] 本人电脑配置如下: CPU: intel 酷睿 i3 3.3G 双核 内存: 金士顿 8G 硬盘:希捷 1TB 7200rpm 操作系统:win7  旗舰版 64位 OpenWrt是在 ...

  2. &lbrack;最近公共祖先&rsqb; POJ 3728 The merchant

    The merchant Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 4556   Accepted: 1576 Desc ...

  3. 稀疏矩阵coo&lowbar;matrix的乘法

    稀疏矩阵的乘法在做基于n-gram的分类的时候还是相当有用的,但是由于网上资料太少,所以折腾了几天才算折腾出来. 首先scipy包里常见的稀疏矩阵有三种形式, coo_matrix, csr_matr ...

  4. hdu&lowbar;5810&lowbar;Balls and Boxes&lpar;打表推公式&rpar;

    题目链接:hdu_5810_Balls and Boxes 题意: 如题,让你求那个公式的期望 题解: 打表找规律,然后推公式.这项技能必须得学会 #include<cstdio> #in ...

  5. Java 环境搭建的一些问题

    1.http://www.eclipse.org/webtools/  eclipse 官网,SE.EE方向是两个不同eclipse 2.tomcat 对eclipse来说是一个插件,需要额外下载 T ...

  6. CentOS7&period;2安装mysql5&period;6

    1.卸载系统自带的Mariadb [root@localhost~]# rpm -qa|grep mariadb //查询出已安装的mariadb [root@localhost~]# rpm -e ...

  7. spring、springmvc、springboot、springcloud

    Spring 最初利用“工厂模式”( DI )和“代理模式”( AOP )解耦应用组件.大家觉得挺好用,于是按照这种模式搞了一个 MVC 框架(一些用 Spring 解耦的组件),用开发 web 应用 ...

  8. C&num;&colon;进程

    using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...

  9. ARTS(一)

    ARTS第一周,2019年3月17日,星期日,天气晴. A:算法学习(Algorithm) 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LE ...

  10. 百度Ueditor富文本编辑器 &period;net版本 任意文件上传执行漏掉修复

    问题描述: 借由上传网络图片功能中可传递可执行文件.后台代码中只做了文件类型的检测未能正确的拦截掉非法文件. 只需将上传地址改为 XXXXXX.jpg?.aspx最终服务上最终存储的文件会变为XXXX ...