首页 > 其他分享 >01 Tree

01 Tree

时间:2024-07-08 22:57:08浏览次数:12  
标签:01 删除 元素 Tree 叶子 相邻 序列 节点

有利用数学归纳法思想的扩展法,就有反过来的删除法,这里利用删除法

考虑对于一颗合法的树,显然删除某两个叶子,会让其共同父亲变成叶子,这就形成了一个递归的过程;而某两个叶子在序列\(a\)中也一定是相邻的,而且很容易发现特征,就是其\(a\)的大小相差\(1\)

但是现在的问题就是我们不知道删除哪两个相差\(1\)的相邻的\(a\),因为满足相差\(1\)的相邻的\(a\)有很多,这个时候我们就考虑特殊元素,考虑\(a\)最大的元素,显然其父亲的另一个节点也一定是叶子节点(否则如果另一个节点还有子孙,就与这个元素的\(a\)最大相矛盾),于是就可以删除这两个元素(当然要满足删除的前提条件,就是其相邻的\(a\)要比其小\(1\))并且向序列中添加一个\(a\)值为较小元素的元素,就形成了一个子问题;注意可能\(a\)最大的元素左边和右边的元素都比其小\(1\),这个时候无论删除谁都可以,得到的新的\(a\)序列都长成一个样子

标签:01,删除,元素,Tree,叶子,相邻,序列,节点
From: https://www.cnblogs.com/dingxingdi/p/18290850

相关文章

  • CSCI-GA.2250-001 Scheduler
    ProgrammingAssignment#2(Lab2):Scheduler/DispatcherClassCSCI-GA.2250-001Summ2024In  this  lab  we  explore  the  implementation  and  effects  of different  scheduling policies  discussed  in  class  on  a  set......
  • P2239 [NOIP2014 普及组] 螺旋矩阵
    洛谷题面:题目分析本题需要一个旋转的数字矩阵,因为填数要求,首先考虑DFS。注意写题目时,一定一定要注意数据范围!在此题中,注意数据范围对于 50%的数据,1⩽......
  • MVME147-012 处理器模块
    型号:MVME147-012配置:•25MHzMC68030微处理器•25MHzMC6888协处理器•8MBDRAM•(4)Bios芯片•以太网收发器接口•SCSI总线接口计算机被广泛应用于多个领域,包括但不限于:教育培训:在教育领域,单板计算机可以用于学生......
  • YC311A [ 20240701 CQYC省选模拟赛 T1 ] 好串(good)
    题意给定一个长度为\(n\)的\(01\)串。定义一个串是好的当且仅当该串的所有前缀以及所有后缀的\(1\)的数量大于等于\(0\)的数量。你需要维护\(q\)个查询,每次求\(S_{l,...,r}\)的子串最少添加的\(1\)的个数使得该子串是好的。Sol首先不难发现一个正确的贪心,也......
  • 题解:洛谷 P2678 [NOIP2015 提高组] 跳石头
    题解:洛谷P2678[NOIP2015提高组]跳石头标签:二分,贪心题意给定一个数列,\(a_0=0,a_{N+1}=L\),从其中删除不超过\(M\)个数,使得\(a_i-a_{i-1}\)的最小值最大。思路从最小值最大不难想到二分答案。统计\(a_i-a_j<mid\)的数量\(k\),如果不满足的话说明不删,\(j\getsi\)。......
  • 01bfs
    针对一类特殊图求最短路,如果边权只有01则可以使用双端队列代替堆,将最短路的时间复杂度从\(O(nlogn)\)降为\(O(n)\)。原理:每次所走边边权为0则放队首,边权为1则放队尾。题目1#include<bits/stdc++.h>usingnamespacestd;#definelllonglong#definepiipair<int,int>#......
  • P7382 [COCI2018-2019#6] Simfonija (中位数)
    P7382[COCI2018-2019#6]Simfonija中位数不妨设\(C_i=A_i-B_i\),那么操作后的代数式可以写成:\[\sum\limits_{i=1}^n|C_i+x|\]如果\(k=0\),那么\(x\)的取值就是一个经典问题了,即\(C\)序列的中位数(偶数取中间任意)。如果\(k\ne0\),要使答案最小,就是将\(k\)个数的代价变......
  • Caterpillar on a Tree
    首先一个很显然的地方就是使用传送门肯定是在叶子节点使用,我们来考虑一下整个过程是怎么样的为了方便,我们不妨假设可以传送回根节点\(k+1\)次,然后要求最后回到根节点我们先从根节点走到某一个叶子结点,然后再从这个叶子节点走到另一个叶子节点,然后继续走到另一个叶子节点,一直这么......
  • 01day C++初入学习
    这里写目录标题1.C++区别于C的输入输出2.什么是命名空间3.namespace的定义namespace的使用(1)namespace嵌套使用(2)多⽂件中可以定义同名namespace(3)4.命名空间的使用5.C++输⼊&输出6.缺省参数7.函数重载8.引用8.1引用的特性8.3引用的使用1.C++区别于C的输入输出......
  • 「清新题精讲」Gym100198H - Royal Federation
    H-RoyalFederation\(\mathsf{\color{Thistle}Statement}\)给定一棵\(n\)个点的树,将其划分为\(m\)个集合(\(m\)可以为任意正整数),对于每个集合,顷定其特殊点,使得该点可以到达属于该集合内的所有点只经过集合内的点(注意特殊点可以不在集合内),其中集合大小要求在\(B\sim3B\)......