HihoCoder1650 : 扁平化管理([Offer收割]编程练习赛38)(二分)
2024-08-27 12:32:26
描述
小Hi的公司包括CEO在内一共有N名员工。这N名员工的上下级关系形成树形结构,CEO处于树根,普通员工处于叶子节点。
现在公司希望管理扁平化,要求树形结构中的层级不超过L层。此外,假设A是B的直接上级,那么B管理的下属数目必须少于A管理的下属数目。
请你判断CEO至少要管理多少名下属?
例如N=12,L=3则CEO至少要管理4名下属。因为假设CEO只管理3名下属,则整个公司最多容纳10名员工,如下图所示:
1
/ | \
2 3 4
/ \ / \ / \
5 6 7 8 9 10
输入
两个整数N和L。 (2 ≤ N, L ≤ 1018)
输出
一个整数代表答案。
样例输入
12 3
样例输出
4
。。没敢写二分。。。结果数据这么水。。。所以直接借的别人代码,此题意义不大。
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
ll N,L,l,r,mid,sum,tmp,t;
int main()
{
scanf("%lld%lld",&N,&L);
if(L==){
printf("%lld\n", N-);
return ;
} l=;r=N;
while(l<r){
mid=(l+r)>>;
sum=,tmp=,t=max(mid-L+,(ll));
for(ll i=mid;i>=t;i--){
if(N/i<=tmp||sum>=N){
sum=N;
break;
} tmp*=i; sum+=tmp;
}
if(sum>=N) r=mid;
else l=mid+;
}
printf("%lld\n",l);
return ;
}
最新文章
- StatePattern(状态模式)
- 解决“只能通过Chrome网上应用商店安装该程序”的方法
- PHP 数据库操作类:ezSQL
- php 小函数
- pscp
- thrift总结
- Linux基本命令(5)管理使用者和设立权限的命令
- 【转】 Nginx系列(一)--nginx是什么?
- 多线程与网络之SDWebImage和NSCache
- JavaScript高级程序设计(第三版)学习笔记20、21、23章
- LeetCode: Valid Palindrome [125]
- jsp中获取当前文件路径
- 【转】NO.2、Appium之IOS第一个demo
- 【leetcode82】Linked List Cycle
- 【Teradata TTU】Windows TTU安装工具列表
- jq demo 点击弹窗,居中,可滚动,可拖动
- 记账本,C,Github,结果
- Python3学习之路~4.4 软件目录结构规范
- cocos2d JS 在 JavaScript 中,怎样把一个对象转化成 JSON 字符串?
- Hive 数仓中常见的日期转换操作
热门文章
- XML完成小程序
- Leetcode Array 16 3Sum Closest
- webapi设置一个Action同时支持get和post请求
- IP地址 网段的划分
- MFC——9.多线程与线程同步
- ubuntu16.04 Cmake学习二
- linux SPI驱动——spidev之deive(五)
- python 基础 7.0 import 导入
- java项目中的classpath到底是什么
- Altera Quartus 13.1 仿真工具路径错误问题解决 Can&#39;t launch the ModelSim-Altera software