博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(树)Subtrees -- hdu -- 5524
阅读量:6161 次
发布时间:2019-06-21

本文共 1602 字,大约阅读时间需要 5 分钟。

 

Subtrees

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)

Total Submission(s): 184    Accepted Submission(s): 99

Problem Description
There is a complete binary tree with N nodes.The subtree of the node i has Ai nodes.How many distinct numbers are there of Ai?
 

 

Input
There are multiple test cases, no more than 1000 cases.
For each case contains a single integer N on a line.
(1N1018)
 

 

Output
The output of each case will be a single integer on a line:the number of subtrees that contain different nodes.
 

 

Sample Input
5
6
7
8
 

 

Sample Output
3
4
3
5
 

 

Source
 
 
在Hack的时候截别人的代码, 然而我并不懂什么意思, 但相信自己以后会会的!!!

 

 

#include
#include
#include
#include
typedef long long ll;using namespace std;ll ans=0 , Max=0, n;void search(ll x){ ll lc=x, rc=x, dep=0; while(lc*2<=n) lc *= 2, dep++; while(rc*2+1<=n) rc = rc*2 + 1; if(lc<=rc) Max = max(Max, dep); else { search(x*2); search(x*2+1); ans++; }}int main(){ while(~scanf("%I64d", &n)) { ans = 0; Max = 0; search(1); printf("%I64d\n", ans+Max+1); } return 0;}
代码1:
#include
#include
#include
#include
using namespace std;typedef long long ll;set
st;set
::iterator it;void deal(ll n){ ll k, t; if((it=st.find(n)) !=st.end()) return ; st.insert(n); for(k=62; k>=0; k--) { if((1ll<
代码2:

 

转载于:https://www.cnblogs.com/YY56/p/4933285.html

你可能感兴趣的文章
[转]React 教程
查看>>
拓扑排序介绍
查看>>
eclipse打开工作空间(workspace)没有任务反应
查看>>
使用Sybmol模块来构建神经网络
查看>>
字符串去分割符号
查看>>
WPF中,多key值绑定问题,一个key绑定一个界面上的对象
查看>>
UML类图简明教程
查看>>
java反编译工具(Java Decompiler)
查看>>
Android开发之自定义对话框
查看>>
微信Access Token 缓存方法
查看>>
Eclipsed的SVN插件不能识别之前工作空间的项目
查看>>
Linux 查看iptables状态-重启
查看>>
amazeui学习笔记一(开始使用2)--布局示例layouts
查看>>
c#中lock的使用(用于预约超出限额的流程)
查看>>
ODI基于源表时间戳字段获取增量数据
查看>>
并发容器之CopyOnWriteArrayList(转载)
查看>>
什么是AAC音频格式 AAC-LC 和 AAC-HE的区别是什么
查看>>
原创:goldengate从11.2升级到12.1.2
查看>>
Quartz
查看>>
正则表达式的语法规则
查看>>