Subtrees

 
问题描述
一棵有N个节点的完全二叉树,问有多少种子树所包含的节点数量不同。
输入描述
输入有多组数据,不超过1000组.
每组数据输入一行包含一个整数N.(1\leq N\leq {10}^{18})(1≤N≤10​18​​)
输出描述
对于每组数据输出一行,表示不同节点数的子树有多少种.
输入样例
5
6
7
8
输出样例
3
4
3
5 题解: 完全二叉树,。。。dfs下去分点就好了
///
#include<bits/stdc++.h>
using namespace std ;
typedef long long ll;
#define mem(a) memset(a,0,sizeof(a))
inline ll read()
{
ll x=,f=;
char ch=getchar();
while(ch<''||ch>'')
{
if(ch=='-')f=-;
ch=getchar();
}
while(ch>=''&&ch<='')
{
x=x*+ch-'';
ch=getchar();
}
return x*f;
}
//****************************************
#define maxn 100000+5
#define mod 1000000007 ll n;
set<ll > s;
void dfs(ll x){
if(x==)return ;
if(s.count(x)){
return ;
}
s.insert(x);
x--;
dfs(x/);
dfs(x/+x%);
}
int main(){
while(scanf("%I64d",&n)!=EOF){
s.clear();
dfs(n);
cout<<s.size()<<endl;
} return ;
}

代码


最新文章

  1. mybatis关联映射
  2. ios移动端切图及前端规范
  3. mysql概要(十一)存储引擎
  4. wamp+zendstudio12+xDebugger环境搭建
  5. shelll函数求两个输入数字之和
  6. lintcode:形状工厂
  7. hellogcc -100GDB技巧
  8. cocos2d的安装
  9. 在C#实现托盘效果(转)
  10. 高级UIKit-08(TCPSocket)
  11. linux 小技巧(查找替换文件中的ascii编码字符)
  12. thinkphp 操作xml格式
  13. 炎黄流程中改流程节点颜色的js
  14. MySql 按周/月/日统计数据的方法
  15. TiDB 源码阅读系列文章(一)序
  16. JS时间转时间戳,时间戳转时间。时间显示模式。
  17. 使用自由软件Icarus Verilog Simulator进行仿真
  18. 【mysql优化】mysql count(*)、count(1)、count(主键字段)、count(非主键字段)哪个性能最佳
  19. linux计划任务 学习笔记
  20. day2 字典常用的方法

热门文章

  1. 校内测之zay与银临 (day2)(只有T1)
  2. jquery onclick 问题
  3. java学习日志---File实例:实现复制整个文件夹、解决listFiles()为null问题
  4. POJ3616 Milking Time【dp】
  5. Hadoop Mapreduce 中的Partitioner
  6. Openssl生成RSA公私钥以及将公钥转换成C#支持的格式
  7. 创建和获取cookie
  8. 设置Python解析器
  9. Django-报错解决方法
  10. springboot 2.x 集成 drools 7.x