1:数组存二叉树
#define lc(x) (x<<1)
#define rc(x) ((x<<1)|1)
#define fa(x) (x>>1)
未测试待续版
2:邻接矩阵存树
int a[n][n]
3:邻接表存树
(1)
struct node{
int data,lenn;
friend bool operator <(node a,node b)
{
return a.lenn>b.lenn;
}
};
node make_node(int a,int b)
{
node lss;
lss.data=b,lss.lenn=a;
return lss;
}
struct edge{
int t,l,n;
edge(){
}
edge(int _t,int _l,int _n)
{
t=_t,l=_l,n=_n;
}
};
edge e[200005<<1];
int head[100004],now=0;
void addedge(int ff,int tt,int ll)
{
e[now]=edge(tt,ll,head[ff]);
head[ff]=now++;
}
(2)
vector<int> vec[n];