1.树的同构 思路:因为他是只交换左右子节点,就可以发现同构的树的父亲节点是相同的,所以你只要记住一个结点的父亲节点是什么,判断两棵树上相同点的父亲节点是否相同,就可以判断是否同构。 最后判断下为只有一个结节点的特殊情况。 /* n==1的情况是不符合的 */ #include<bits/stdc+ ...
分类:
其他好文 时间:
2020-11-01 09:39:49
阅读次数:
16
题目链接 树哈希直接套就完了 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef unsigned long long ll; 4 const int N=1e5+10,M=19260817,inf=0x3f3f3f3f,mod=1e ...
分类:
编程语言 时间:
2020-07-24 16:00:39
阅读次数:
74
03-树1 树的同构 (25分) 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2 现给定两棵树,请你判断它们是否是 ...
分类:
其他好文 时间:
2020-07-06 00:44:46
阅读次数:
85
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2 现给定两棵树,请你判断它们是否是同构的。 输入格式: 输入给出2棵 ...
分类:
其他好文 时间:
2020-06-26 10:37:45
阅读次数:
38
#神仙的博客(我就是用的这种方法) 树hash的方法很多,我用的是上面博客里面的方法 最近跟Wendigo神仙做题目,发现自己思维不行 #题目 ##BJOI2015树的同构 #include<bits/stdc++.h> typedef long long ll; using namespace s ...
分类:
其他好文 时间:
2020-06-05 20:51:17
阅读次数:
67
一、知识框架 二、课堂疑问解答 1、定义 ①typedef struct ②me:typedef struct { { char data; char data; int parent; int parent; }Node; }BiTNode; typedef struct int n; { cin ...
分类:
其他好文 时间:
2020-05-30 12:38:42
阅读次数:
105
题目描述 树是一种很常见的数据结构。 我们把 $N$ 个点,$N 1$ 条边的连通无向图称为树。 若将某个点作为根,从根开始遍历,则其它的点都有一个前驱,这个树就成为有根树。 对于两个树 $T_1$ 和 $T_2$,如果能够把树 $T_1$? 的所有点重新标号,使得树 $T_1$? 和树 $T_2$ ...
分类:
其他好文 时间:
2020-04-16 15:08:13
阅读次数:
72
解题思路: 1、建二叉树(静态链表) 不作为任何结点的孩子结点的即为根结点 2、判断是否同构 1)空树,同构 2)两棵树中若只有其中一棵是空树,则不同构 3)两棵树的根结点值不等,不同构 4)若左子树均空,则递归判断右子树 5)若左子树均不空, 比较左子树的根结点值 相等:则没有交换左右子树,判断树 ...
分类:
其他好文 时间:
2020-03-08 17:21:07
阅读次数:
90
树的同构 两棵树如果形态相同,就称这两棵树同构。 也就是:存在一个排列$p$,将其中一棵树的编号$i$改为$p_i$,使得这棵树和另外一棵树完全相同。 树hash 判断两棵树是否同构可以使用树hash的方法。用$hs[i]$表示i这棵子树的hash值。那么有$hs[u]=1 + \sum hs[v] ...
分类:
其他好文 时间:
2020-03-07 10:01:29
阅读次数:
86
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1 图2 现给定两棵树,请你判断它们是否是同构的。 输入格式: 输入给出2棵 ...
分类:
其他好文 时间:
2019-10-23 00:31:01
阅读次数:
108