1. 程式人生 > 其它 >簡單二叉樹

簡單二叉樹

技術標籤:日常二叉樹

二叉樹模板 敲敲

luogu P4715

#include<iostream>
#include<cstdio>
#include<cmath> 
#include<cstring>
#include<algorithm>
#include<map>
using namespace std;
int n;
int m[201];
int tree[201];
map<int,int> f;
void bulid(int node,int l,int r)
{
	if(l==r)
	  {
tree[node]=m[r]; return; } int lt=node*2; int rt=node*2+1; int mid=(l+r)/2; bulid(lt,l,mid); bulid(rt,mid+1,r); tree[node]=max(tree[lt],tree[rt]); } int main() { cin>>n; for(int i=1;i<=1<<n;i++) { cin>>m[i]; f[m[i]]=i; } bulid(
1,1,1<<n); cout<<f[min(tree[2],tree[3])]; return 0; }

極其隨意