首页 > 小红的完全二叉树构造
头像 wqy的小迷弟
发表于 2023-12-10 20:40:24
发现一个规律,因为是层次遍历,而且只要先输出偶数,奇数一定可以全部放到下方构成二叉树。代码只需要写两个for循环。 void solve() {     int n;cin >> n;    展开全文
头像 AliLexiWalker
发表于 2026-04-19 09:56:58
先放偶数,再放奇数。这样每个点的父亲基本都是偶数,所以乘起来一定是偶数。 void solve(){ int n;cin>>n; vi a(n+1); int x=2; for(int i=1;i<=n/2;++i){ a[i]=x; 展开全文
头像 飞鸢泛惊鸿
发表于 2026-04-19 12:08:20
n=int(input()) print(*list(range(2,n+1,2))+list(range(1,n+1,2))) 注意到构造序列 = 所有偶数(2,4,6,… 直到 ≤n)+ 所有奇数(1,3,5,… 直到 ≤n)
头像 olone
发表于 2026-04-19 16:34:34
import java.util.*; public class Main{ static Scanner in = new Scanner(System.in); public static void main(String[] args){ int n = in 展开全文
头像 Hauauah
发表于 2026-04-19 16:50:40
#include <iostream> #include <queue> #include <vector> using namespace std; int main() { int n;cin>>n; queue<int&g 展开全文
头像 此在Dasein
发表于 2026-04-19 18:37:03
1. 问题分析) 是偶数 是偶数。 只有当 和 均为奇数时,乘积才为奇数。 因此,该约束等价于:在二叉树中,任何两个相邻(父子关系)的节点不能同时为奇数。 构造一个 个节点的完全二叉树,其拓扑结构是唯一确定的。我们需要将 的排列填入这个固定的结构中。 奇数集合 ():数量为 。 偶 展开全文
头像 Ehsanc
发表于 2026-04-19 11:56:41
#include <bits/stdc++.h> using namespace std; #define int long long #define endl "\n" signed main() { ios::sync_with_stdio(false) 展开全文