Subtrees

 
问题描述
  1. 一棵有N个节点的完全二叉树,问有多少种子树所包含的节点数量不同。
输入描述
  1. 输入有多组数据,不超过1000组.
  2. 每组数据输入一行包含一个整数N.(1\leq N\leq {10}^{18})(1N1018​​)
输出描述
  1. 对于每组数据输出一行,表示不同节点数的子树有多少种.
输入样例
  1. 5
  2. 6
  3. 7
  4. 8
输出样例
  1. 3
  2. 4
  3. 3
  4. 5
  5.  
  6. 题解: 完全二叉树,。。。dfs下去分点就好了
  1. ///
  2. #include<bits/stdc++.h>
  3. using namespace std ;
  4. typedef long long ll;
  5. #define mem(a) memset(a,0,sizeof(a))
  6. inline ll read()
  7. {
  8. ll x=,f=;
  9. char ch=getchar();
  10. while(ch<''||ch>'')
  11. {
  12. if(ch=='-')f=-;
  13. ch=getchar();
  14. }
  15. while(ch>=''&&ch<='')
  16. {
  17. x=x*+ch-'';
  18. ch=getchar();
  19. }
  20. return x*f;
  21. }
  22. //****************************************
  23. #define maxn 100000+5
  24. #define mod 1000000007
  25.  
  26. ll n;
  27. set<ll > s;
  28. void dfs(ll x){
  29. if(x==)return ;
  30. if(s.count(x)){
  31. return ;
  32. }
  33. s.insert(x);
  34. x--;
  35. dfs(x/);
  36. dfs(x/+x%);
  37. }
  38. int main(){
  39. while(scanf("%I64d",&n)!=EOF){
  40. s.clear();
  41. dfs(n);
  42. cout<<s.size()<<endl;
  43. }
  44.  
  45. return ;
  46. }

代码

  1.  

BestCoder Round #61 (div.2) C.Subtrees dfs的更多相关文章

  1. BestCoder Round #61 (div.2)

    Numbers Accepts: 571 Submissions: 1212 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/26 ...

  2. BestCoder Round #61 (div.2) B.Game 细节题

    Game   问题描述 XY在玩一个游戏:有N根柱子排成一排,编号为1到N,每个柱子上面有一块宝石,现在XY站在第S根柱子上,出口在第T跟柱子上,XY需要拿到所有宝石后从出口离开.每次XY可以走到相邻 ...

  3. HDU5526/BestCoder Round #61 (div.1)1004 Lie 背包DP

    Lie   问题描述 一个年级总共有N个学生,每个人属于唯一一个班级.现在他们站在一排,同班同学并不一定会站在一起,但每个人都会说一句话:“站在我左边的有Ai个同班同学,右边有Bi个同班同学”.然而并 ...

  4. 简单几何(水)BestCoder Round #50 (div.2) 1002 Run

    题目传送门 /* 好吧,我不是地球人,这题只要判断正方形就行了,正三角形和正五边形和正六边形都不可能(点是整数). 但是,如果不是整数,那么该怎么做呢?是否就此开启计算几何专题了呢 */ /***** ...

  5. BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)

    Baby Ming and Weight lifting Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K ( ...

  6. BestCoder Round #68 (div.2) tree(hdu 5606)

    tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submis ...

  7. BestCoder Round #11 (Div. 2) 题解

    HDOJ5054 Alice and Bob Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  8. hdu5635 BestCoder Round #74 (div.2)

    LCP Array  Accepts: 131  Submissions: 1352  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: 13 ...

  9. hdu 5636 搜索 BestCoder Round #74 (div.2)

    Shortest Path  Accepts: 40  Submissions: 610  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: ...

随机推荐

  1. Lazarus 字符集转换 Utf8ToAnsi,UTF8ToWinCP,UTF8ToSys,UTF8ToConsole

    由于Lazarus从1.2版开始默认字符集就是UTF8,如果要转到系统正常显示或文本保存,就必须对字符集进行转换.Lazarus提供了很多函数.如题. 那么这里面有什么关系呢? UTF8ToSys 需 ...

  2. @objc and dynamic

      @objc and dynamic Objective-C runtime visibility and the depths of dynamic dispatch in the modern ...

  3. MFC_2.9 使用变参函数

    使用变参函数 #include <stdio.h>​// 包含一个头文件,提供不定参数的宏#include <stdarg.h>​// 用于输出不定数量的整数值void pri ...

  4. vue中的input使用e.target.value赋值的问题

    很久不写博客了... vue中对表单的处理,相对原生js,增加了一个双向绑定的语法糖:v-model.官方文档里有一段: v-model 会忽略所有表单元素的 value.checked.select ...

  5. Java变量及数据类型

    变量及数据类型 变量 变量定义格式:数据类型 变量名 = 初始化值; 基本数据类型 整形数据 package com.ahabest.demo; //输出整形数据的最小值,默认值,最大值,二进制位数 ...

  6. Microsoft SQL Server 存储过程

    Microsoft SQL Server 存储过程 TRIGGER DDL触发器:主要用于防止对数据库架构.视图.表.存储过程等进行的某些修改:DDL事件是指对数据库CREATE,ALTER,DROP ...

  7. TWaver推智能手表挑战华为苹果

    2015年的春节刚过,苹果.华为.三星就紧锣密鼓的发布了各自新产品.华为.苹果的智能手表最吸引眼球.TWaver也不甘示弱,立刻连夜推出了更像传统奢侈豪华手表的TWaver Watch,予以反击.看来 ...

  8. 【webpack插件使用】在开发中快速掌握并使用Webpack构建web应用程序

    1.webpack-dev-server插件的基本使用 入门程序 const path = require('path'); // 导出一个Webpack的配置对象(通过node中的模块操作,向外暴露 ...

  9. buf.readDoubleBE()

    buf.readDoubleBE(offset[, noAssert]) buf.readDoubleLE(offset[, noAssert]) offset {Number} 0 <= of ...

  10. Journals in Fluid Mechanics

    journal of fluid mechanics physics of fluids annual review of fluid mechanics