首页 > 其他分享 >题解【CF1025D Recovering BST】

题解【CF1025D Recovering BST】

时间:2022-09-05 20:26:23浏览次数:97  
标签:Recovering BST 题解 二叉 搜索 区间

题目传送门

肉眼观察题。

设 \(f_{i,j,k}\) 表示区间 \([i,j]\) 的根为 \(k\) 时能否还原。这样枚举一个根 \(k\),分别枚举两个儿子在两个区间的位置转移就好了,由于两个儿子是独立的,所以复杂度 \(\Theta(n^4)\),无法通过。

考虑二叉搜索树的性质,区间 \([i,j]\) 组成的二叉搜索树的根一定是 \((i-1)\) 或 \((j+1)\)。要不然有一段放不上去。

既然根的父亲只有两种方式,状态的设计就可以大大的简化了。

我们设 \(f_{i,j,0}\) 表示区间 \([i,j)\) 组成的二叉搜索树的根的父亲是 \(j\) 能否还原,\(f_{i,j,1}\) 表示区间 \((i,j]\) 组成的二叉搜索树的根的父亲是 \(i\) 能否还原。

转移采用刷表法,用 \(f_{i,j,0/1}\) 来更新区间 \(f_{i-1,j,0/1}\) 和 \(f_{i,j+1,0/1}\) 即可。

代码

标签:Recovering,BST,题解,二叉,搜索,区间
From: https://www.cnblogs.com/UperFicial/p/16659415.html

相关文章

  • ARC147题解(A~E)
    \(A\)\(Problem\)给定长度为\(n\)的序列\(A\),要求重复执行以下操作,直到\(A\)中的元素个数为\(1\):选出下标\(i\),使得\(A_i\)是\(A\)中剩余的数中最大的;选出......
  • leetcode 6356 最长回文子串长度,最长回文子串 C/C++ 动态规划方案 同样的用例,测试执
    对dp变量需要执行初始化,否者LeetCode会出现同样的用例,单独执行可以通过,提交代码执行不通过的情况。 下面是找最长回文串的动态规划代码。class Solution {public:......
  • 题解【CF1316E Team Building】
    题目传送门状压DP入门题。设\(f_{i,S}\)表示考虑了前\(i\)个人,队伍放置情况为\(S\)时(0表示放置了队员,1表示没有放置)的最大贡献。然后分讨一下\(i\)是去当队......
  • 【题解】CF1585E Frequency Queries
    思路by@houzhiyuanSol感觉在线不怎么可做,考虑离线。那么问题变成了维护路径上第\(k\)大出现次数的数。考虑线段树,以出现次数为节点的下标,那么查询相当于是求第\(k......
  • 攻防世界 new_easypwn 题解
    攻防世界new_easypwn题解程序分析查看程序基本情况,如图,该程序是64位程序,开启了Canary、NX、PIE保护。使用ida64打开分析程序,该程序是个电话录之类的,可以添加、删除、......
  • 题解:如何得到npy
    如何得到npy题目链接普及组模拟赛良心第四题,感觉比第三题简单捏。这道题分成两问。对于前一问,简化题意是给定一棵有\(n\)个点的树,给定两个起点\(s\)和\(t\),求一个......
  • 1530 bingo 不是题解
    *2600的死活卡住出不来,想啊,很想啊(指remake21*21的方阵,每个位置有一个概率是1,求凑出来bingo的概率这种题目先考虑容斥,那就是1-凑不出bingo的概率。直接做是2^44的,我做牛......
  • linux教材一、二章 练习及遇到的问题解决过程
      暑假期间我将VMware的ubuntu虚拟机重新装载了(之前崩了),并每天在终端练习运行命令行。开学后当我又重新打开ubuntu时,发现又出现了问题,如下图所示:     提示......
  • 【转载】Qt6.2.4 qml ChartView 实现饼状图与问题解决
    转载https://www.bilibili.com/video/BV1dS4y1u7vN?p=30&vd_source=64f1a4c05d797eb3cca1ef771fd46c22环境环境版本windows10QT6.2.4QtCreator8.0......
  • 关于eclipse(64位)下aptana插件安装报错问题解决
    关于eclipse(64位)下aptana插件安装报错问题解决_z1m2爱的博客-CSDN博客 https://blog.csdn.net/zoumin123456/article/details/48285589最近一直没有写过js,换了新电脑以......