小 Y 有四种方法造树。
要想分辨不同的方法造出的树,自然要试着模拟然后统计四个树的特征。
以下四个标号分别代表四种方案:
由于性质比较特殊 ( 2 的范围比1更小 ) 所以我决定先讲 2。
2.对于每个点 i ,概率与 1≤j≤⌊(i−1)/2⌋ 1≤j≤⌊2i−1⌋连边。
事实上很简单。
我们强制要求所有树以 11 为根节点且强制要求这个树按值域分类要求比根节点小的在左子树,比根大的在右边,由于是全排列,不存在等于,可以安心许多。
由于每个点 i 都不可能与小于 (i-1)/2 的点连边,因此会发现所有大于 i 的点都不可能与 i 不可能连到的点连边,因此我们可以发现 2 是无法与 1 连边的。3 要在右子树只能与 1 连边,且 n 必然为它所在子树的最右节点,这样有用的性质对我们就大大增多了。因为我们可以发现每到一个 i 选点,所有上一次剩下的点被选中的概率 必然会增加,因为这次不选的话,下次选点的边界往右移了,新人笑老人哭了,(再不放纵一把 就没法保证连通了。
- 对于每个点 i ,概率与 1≤j≤ (i-1)/2 ≤j≤i−1连边。
相信大家都能发现 1 与 2 基本是同母异父 (悲 的亲兄弟了。经过我上面一番慷慨乱扯,可以发现 1 与 2 的性质就差在 (i-1)/2⌋∼−1⌊2i⌋∼i−1 与 i 有无连边了,这里必然不能鸡蛋里挑骨头地去想是不是可能用 1 生成时所有点都刚好选在了 1∼⌊ (i-1)/2⌋1∼⌊2i⌋ 里,想都不要想,这是纯属犯欠。 (放我那是要被数学老师和科学老师挑起来打的。 而我们会发现这样子选点的话,一条路走到黑,或是雨露均沾,就是链或菊花图等极端情况概率是特别特别小的,不妨遇到那种深度很大的树直接丢给 3,4 两种情况。