主站
DreamJudge
院校信息
专业题库
模拟考试
机试真题
专业课程
答疑区
兑换中心
登录
注册
上岸
以下题解仅供学习参考使用。
抄袭、复制题解,以达到刷AC率/AC数量或其他目的的行为,在N诺是严格禁止的。
N诺非常重视学术诚信。此类行为将会导致您成为作弊者。具体细则请查看N诺社区规则。
ccccccyes
2024年9月9日 18:27
二叉树2 题解:
P1264
回复 0
|
赞 0
|
浏览 405
//完全二叉树,补充n来判定最大值 //查找2n和2n+1 //递归 #include <iostream> using namespace std; int calcu(int m,int n){ if(m>n) return 0; else{ return calcu(2*m,n) + calcu(2*m+1,n) + 1; } } int main(){ int m,n,cnt; while(cin>>m>>n){ cout<<calcu(m,n)...
Howie_Waves
2024年8月31日 16:02
二叉树2 题解:
P1264
回复 0
|
赞 0
|
浏览 958
按照下标规律,2i+1和2i+2一直循环下去,直到越界(i>=n) #include<bits/stdc++.h> using namespace std; int main() { int m, n; while(cin >> m >> n) { int index = m - 1; int ans = 1; queue<int> q; q.push(index); while(!q.empty()) { int id = q.front()...
钟馨雨
2024年3月27日 00:57
二叉树2 题解:
P1264
回复 0
|
赞 0
|
浏览 661
#include <bits/stdc++.h> using namespace std; int main(){ int m,n; while(cin>>m>>n){ int sum=1; int x=m; int y=m;  ...
张会老儿
2024年3月24日 15:50
二叉树2 题解:为什么可以用int啊,题目的不是说的小于10亿吗,
P1264
回复 1
|
赞 0
|
浏览 517
05555555
红毛舒肤佳
2024年3月16日 20:07
二叉树2 题解:递归C++
P1264
回复 0
|
赞 0
|
浏览 663
#include <bits/stdc++.h> using namespace std; int fun(int m,int n){ if(m>n) return 0;//递归结束条件 else return fun(2*m+1,n)+fun(2*m,n)+1;//返回左右子树结点数之和+根节点数 } int main(){ int m,n; while(cin>>m>>n){ cout<<fun(m,n)<<endl; } ret...
1935569240
2024年3月8日 15:45
二叉树2 题解:简简单单的递归来了
P1264
回复 0
|
赞 0
|
浏览 761
#include<iostream> #include<algorithm> #include<string> using namespace std; int cnt = 0; int m, n; void searchRoute(int x) { if (x > n) { return; } else { ...
18937485169
2023年6月15日 02:31
二叉树2 题解:简单递归
P1264
回复 0
|
赞 0
|
浏览 1.1k
#include<bits/stdc++.h> using namespace std; #define rep(i,s,e) for(int i=s;i<e;i++) #define per(i,s,e) for(int i=s;i>e;i--) int cnt=0; void count(int m,int n){ if(m<=n) cnt++; if(2*m<=n) count(2*m,n); if(2*m+1<=n)count(2*m+1,n); } int main() { ...
我才不怕编程
2023年3月13日 22:03
利用 2*i 和 2*i+1 的极简代码
P1264
回复 0
|
赞 1
|
浏览 2.5k
#include <bits/stdc++.h> using namespace std; int num; void count(int m,int n){ num+=1; if(2*m<=n) count(2*m,n); if(2*m+1<=n) count(2*m+1,n); } int main(){ int m,n; while(scanf("%d %d",&m,&n)!=EOF){ num=0; count(m,n); cout<<num<<...
210120
2023年3月8日 23:57
DFS模拟
P1264
回复 0
|
赞 2
|
浏览 3.0k
将n视为根 ,然后深搜算法,在每次递归时候进行检测是否超过了m;未超过则cnt+1;超过则返回;最后cnt即为结果 #include <iostream> using namespace std; int n, m, cnt = 0; typedef struct Mtree { int val; struct Mtree* ltree, * rtree; } mtree; mtree root1; void dfs(mtree* rt, int val) ...
clearlove4396
2021年3月6日 20:21
算术方法
P1264
回复 0
|
赞 0
|
浏览 8.0k
注意到题目中的树具有特点:结点上的数通过右移操作可以得到所有祖先结点上的数 例如:14>>1=7; 7>>1=3; 3>>1=1 反过来通过左移操作可以得到完全二叉树的叶子结点的范围。通过子树高度计算完全树结点个数,然后比较n与叶子结点的范围,可直接计算出结果 代码: #include <stdio.h> int main(){ int n, m, th, sh, left, right, x, result; while(sc...
1
2
题目
二叉树2
题解数量
15
发布题解
热门题解
1
蒟蒻作法
2
DFS模拟
3
利用 2*i 和 2*i+1 的极简代码
4
二叉树2 题解:
5
二叉树2 题解:递归C++
6
二叉树2 题解:简简单单的递归来了
7
递归
8
递归(C)
9
算术方法
10
二叉树2 题解: