Comet OJ 夏季欢乐赛 完全k叉树
完全k叉树
https://cometoj.com/contest/59/problem/A?problem_id=2712
题目描述
欢迎报考JWJU!这里有丰富的社团活动,比如为梦想奋斗的ACM集训队,经常组织飞行棋的桌游协会,喜欢“唱,跳,rap,篮球”的篮球协会,更奇特的是——让人耳目一新的攀树协会。顾名思义,攀树协会会经常组织大家攀爬一些树,比如李超树,左偏树,带花树,智慧树等等。经过社团组织的一番培训后,同学们已经学会了如何在树上的相邻结点中来回爬动。
不过上述的树太没意思了,RegenFallenRegenFallen同学向往更刺激的挑战,今天他要挑战的项目是一棵完全 kk 叉树。
完全kk叉树的定义:一个 mm 层的完全 kk 叉树的前 m-1m−1 层均为满 kk 叉树,且第 mm 层的结点全部聚集在树的左侧。
因为RegenFallenRegenFallen是一个持久的男人,所以他希望一次能爬尽量长的路径(不走重复的点),所以他想让你告诉他,假如现在有一棵 nn 个点的完全 kk 叉树,每条边的长度均为 11,从树上的某一点到另一点的最大距离是多少。
输入描述
第一行给出一个 tt (t≤10^{4}t≤104) 代表测试用例的组数。
接下来t行,每行包含两个正整数 k, nk,n (1 \le k \le 10^9, 2 \le n \le 10^91≤k≤109,2≤n≤109) 意义如题面所示。
输出描述
对于每个测试用例,输出一行一个正整数表示答案。
样例输入 1
1
2 3
样例输出 1
2
提示
样例给出了一个3个点的完全二叉树,即第一层有一个点,第二层有两个点。那么可以选择第二层的两个点来计算距离,其距离为2,即为树上的最大距离。
模拟题,累加层数分类讨论可AC
CODE;
#include<cstdio>
#define ll long long
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
ll k,n;
scanf("%lld%lld",&k,&n);
if(k==)
{
printf("%lld\n",n-);
continue;
}
ll temp=,cnt=;
while(n)
{
n-=temp;
cnt++;
temp*=k;
if(n<temp)
break;
}
if(n==)
printf("%lld\n",cnt*-);
else if(n<=temp/k)
printf("%lld\n",cnt*-);
else
printf("%lld\n",cnt*);
}
return ;
}
Comet OJ 夏季欢乐赛 完全k叉树的更多相关文章
- Comet OJ 夏季欢乐赛 篮球校赛
Comet OJ 夏季欢乐赛 篮球校赛 题目传送门 题目描述 JWJU注重培养学生的"唱,跳,rap,篮球"能力.于是每年JWJU都会举办篮球校赛,来给同学们一个切磋篮球技术的平台 ...
- Comet OJ 夏季欢乐赛 Gree的心房
Comet OJ 夏季欢乐赛 Gree的心房 题目传送门 题目描述 据说每一个走进Gree哥哥心房的小姑娘都没有能够再走出来-- 我们将Gree哥哥的心房抽象成一个n \times mn×m的地图,初 ...
- Comet OJ 夏季欢乐赛 分配学号
Comet OJ 夏季欢乐赛 H 分配学号 题目传送门 题目描述 今天,是JWJU给同学们分配学号的一天!为了让大家尽可能的得到自己想要的学号,鸡尾酒让大家先从 [1,10^{18}][1,1018] ...
- Comet OJ CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)
Preface 在一个月黑风高的夜晚我这个蒟蒻正踌躇着打什么比赛好 是继续做一场AGC,还是去刷一场CF 然后,一道金光闪过(滑稽),我们的红太阳bzt给我指明了方向: 你太菜了,我知道有一场很水的比 ...
- Comet OJ 夏季欢乐赛 烤面包片
烤面包片 https://cometoj.com/contest/59/problem/C?problem_id=2698 题目描述 鸡尾酒最喜欢吃东北的烤面包片了.每次到东北地区的区域赛或者是秦皇岛 ...
- Comet OJ 夏季欢乐赛 距离产生美
距离产生美 https://cometoj.com/contest/59/problem/B?problem_id=2680 题目描述 JWJU放暑假了,于是鸡尾酒就和女朋友璇璇一起出去玩.但是外面太 ...
- CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)D
题面 一开始想到一个 O(N^2) 做法,先把x排序,然后顺次枚举x最大的点,看向前最多可以保留多少点 (也就是先不管正方形的上下长度限制,先考虑左右的限制).然后再对这些点做一遍类似的..(等等这么 ...
- CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)E
题面 这个题暴好啊,考了很多东西. 首先设f(x)为离终点还有x步要走的期望步数,我们可以发现 : 1.x>=k时,x可以转移到的点的下标都<x. 2.x<k时,则可能走回到x或者下 ...
- CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)G
题面 一道暴水的dp....别问我为什么直接打开了G题,我只是对题目名称感兴趣而已.... #include<bits/stdc++.h> #define ll long long usi ...
随机推荐
- java8 关于Set集合的线程安全使用
场景:并发多线程,往Set集合中存放数据时,发现最终的数量结果不对,经过排查,没有使用线程安全的Set导致 哈哈,不会描述,代码解释一切,下面代码,使用的 Sets.newHashSet() 和 Co ...
- CPU、内存、磁盘的瓶颈(转载文)
1.如何判断CPU.内存.磁盘的瓶颈? CPU瓶颈1) 查看CPU利用率.建议CPU指标如下 a) User Time:65%-70% b) System Time:30%-35% c) Idle:0 ...
- oracle-报错 RMAN-03002,RMAN-06172
RMAN> restore standby controlfile from "/data/oracle/contral.ctl"; Starting restore at ...
- nginx学习笔记2
nginx基础配置 一.nginx常用命令 nginx -s reload:在nginx已经启动的情况下重新加载配置文件(平滑重启) nginx -s reopen:重新打开日志文件 nginx -c ...
- rust下根据protobuf的消息名创建对象实例
在C++里面, 我们可以根据一个消息的名称, 动态的创建一个实例 google::protobuf::Descriptor* desc = google::protobuf::DescriptorPo ...
- SpringBoot第八篇:整合MyBatis-Generator
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10894278.html 版权声明:本文为博主原创文章,转载请附上博文链接! 注意:本章有大量代码 ...
- Loj #3111. 「SDOI2019」染色
Loj #3111. 「SDOI2019」染色 题目描述 给定 \(2 \times n\) 的格点图.其中一些结点有着已知的颜色,其余的结点还没有被染色.一个合法的染色方案不允许相邻结点有相同的染色 ...
- "中台"论再议
前言:讲中台的太多了,好像似乎不提中台就没法在IT圈混,但对中台又缺少统一明确的定义,姑且听其言,择其精华.最近看到一篇将中台的,觉得还不错,记录下来,分享给大家. 硅谷的“中台论” 在国内创立智领云 ...
- 学习Linq之前必须知道的几种语法糖
» 引用百度解释: 语法糖(Syntactic sugar),也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语 ...
- dapperDemo
dapperDemo 下载链接:http://pan.baidu.com/s/1geQHXPT