暑假集训单切赛第一场 POJ 2309 BST(找规律的题)
题意:给出一棵二分搜索树,再给一个节点编号n,求以这个节点为根节点的子树叶子节点的最大值与最小值。
首先求n所在的层数,他的层数就是他的因子中2的个数(规律). n的左右各有num=2^i-1个数。最小值是n-num,最大值是n+num
#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <string.h>
#include <queue> using namespace std;
int t,n; int finds(int n){
for(int i=;i<=;i++){
if((<<i)<=n && n<(<<(i+)))
return i;
}
}
int main()
{
scanf("%d",&t);
for(int i=;i<=t;i++){
scanf("%d",&n);
int k=;
int tmp=n;
while(){
if(tmp%==){
k++;
tmp=tmp/;
}
else{
break;
}
}
int mins=n-((<<k)-);
int maxs=n+((<<k)-);
printf("%d %d\n",mins,maxs);
}
return ;
}
暑假集训单切赛第一场 POJ 2309 BST(找规律的题)的更多相关文章
- 暑假集训单切赛第一场 UVA 1737 Mnemonics and Palindromes 3
题意:求由a,b,c三个字母组成的长度为n的字符串,其任意连续的至少长度大于等于2的子字符串都不是回文,问这个字符串有多少种?并字典序输出 如果所有种类的字符串总长度大于100000个字符,就输出TO ...
- 暑假集训单切赛第一场 CF 191A Dynasty Puzzles
题意不说了,看原题吧,思路见代码: #include <iostream> #include <stdio.h> #include <string.h> #incl ...
- 暑假集训单切赛第一场 CF 266E More Queries to Array(线段树+二项式展开式)
比赛时,第二题就是做的这个,当时果断没仔细考虑,直接用线段树暴力求.结果易想而知,超时了. 比赛后搜了搜题解,恍然大悟. 思路:显然用线段树,但是由于每次查询都会有变,所以不可能存储题目中的式子. ...
- 暑假集训单切赛第二场 UVA 11988 Broken Keyboard (a.k.a. Beiju Text)(字符串处理)
一开始不懂啊,什么Home键,什么End键,还以为相当于括号,[]里的东西先打印出来呢.后来果断百度了一下. 悲催啊... 题意:给定一个字符串,内部含有'['和']'光标转移指令,'['代表光标移向 ...
- 暑假集训单切赛第二场 UVA 10982 Troublemakers
题意:将点放在两个集合,同一个集合的边保留,不同集合的边删去,使得边至少减少一半. 输出任何一种方案即可.如果不能,输出Impossible 思路:设如果两个人为一对捣蛋鬼,则two[i][j]=t ...
- Contest1585 - 2018-2019赛季多校联合新生训练赛第一场(部分题解)
Contest1585 - 2018-2019赛季多校联合新生训练赛第一场 C 10187 查找特定的合数 D 10188 传话游戏 H 10192 扫雷游戏 C 传送门 题干: 题目描述 自然数中除 ...
- NOI.AC NOIP模拟赛 第一场 补记
NOI.AC NOIP模拟赛 第一场 补记 candy 题目大意: 有两个超市,每个超市有\(n(n\le10^5)\)个糖,每个糖\(W\)元.每颗糖有一个愉悦度,其中,第一家商店中的第\(i\)颗 ...
- HDU6578 2019HDU多校训练赛第一场 1001 (dp)
HDU6578 2019HDU多校训练赛第一场 1001 (dp) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6578 题意: 你有n个空需要去填,有 ...
- HDU6579 2019HDU多校训练赛第一场1002 (线性基)
HDU6579 2019HDU多校训练赛第一场1002 (线性基) 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6579 题意: 两种操作 1.在序列末 ...
随机推荐
- android网络编程
android的网络编程分为2种:基于socket的,和基于http协议的. 基于socket的用法 服务器端: 先启动一个服务器端的socket ServerSocket svr = new ...
- netstat监控大量ESTABLISHED连接与Time_Wait连接问题(转载)
问题描述: 在不考虑系统负载.CPU.内存等情况下,netstat监控大量ESTABLISHED连接与Time_Wait连接. # netstat -n | awk '/^tcp/ {++y[$NF] ...
- Web应用登出后防止浏览器后退
通常情况下,浏览器会对页面进行缓存,此时可以通过后退访问刚才的页面,如:Web应用登出后后退能够访问刚才被缓存的页面,这样在有些情况下是不够安全的,解决防止后退的办法如下: response.setH ...
- 注意:php5.4删除了session_unregister函数
在php5.4版本中,应经删除了session_unregister该函数.朋友们注意一下 前几天安装了dedecms系统,当在后台安全退出的时候,后台出现空白,先前只分析其他功能去了,也没太注意安全 ...
- 使用微软分布式缓存服务Velocity(Windows Server AppFabric Caching Service)
概述 Velocity是微软推出的分布式缓存解决方案,为开发可扩展性,可用的,高性能的应用程提供支持,可以缓存各种类型的数据,如CLR对象. XML.二进制数据等,并且支持集群模式的缓存服务器.Vel ...
- linux 进程控制笔记
进程创建 普通函数调用完成后,最多返回(return)一次,但fork/vfork会返回二次,一次返回给父进程,一次返回给子进程 父进程的返回值为子进程的进程ID,子进程的返回值为0 1.pid_t ...
- 栈帧%ebp,%esp详解
首先应该明白,栈是从高地址向低地址延伸的.每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息.寄存器ebp指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部( ...
- 学C++之感悟
程序设计真的就这么难得入门啊 最要命的事情就是看那些看不懂的书.断断续续地看C++Primer好几天了,还是一点眉目都没有,稀里糊涂的.看得头疼了用Google找过来人留下的东西看,无意中发现了一篇自 ...
- Java 图形编程 一:入门
package second; import java.awt.Color; import java.awt.Frame; import java.awt.event.WindowAdapter; i ...
- Python学习指南
学习python书籍&资料: 1. Python v2.7.5 documentation 2. [Python参考手册(第4版)].(美)比兹利.扫描版.pdf 3. [Python技术手册 ...