ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

模拟测试76

2019-10-24 14:53:41  阅读:213  来源: 互联网

标签:左子 子树 复杂度 76 测试 强制 树中 节点 模拟


T1:

  考虑特殊构造,使不同段不会相互影响。

  分块构造,大段递减,小段递增。

  最长下降子序列即为段数,最长上升子序即为最长的一段的长度。

  特判无解情况,然后分配一下长度即可。

  时间复杂度$O(n)$。

T2:

  将所有的数排序,统计前缀和,如果到某个点发现下一个数大与前缀和的两倍,则会出现断层。

  统计断层长度得到答案。

  时间复杂度$O(nlogn)$。

T3:

  考虑转化一下限制条件。

  满足条件的树有以下性质:

    1、子树编号连续;

    2、坐子树节点小于右子数;

    3、左子树根节点编号为当前节点加一。

  首先我们强制$a<b$,那么两个点的关系为先后关系。
  强制$a$在$b$后:
    $a$一定是$b$的祖先,因为如果他们的位置关系是第二种的话,$a$在中序遍历中一定在$b$之前,所以$b$一定在$a$的左子树中。
  强制$a$在$b$前:
    如果$a$是$b$的祖先,则$b$在$a$的右子树,其余情况下$b$不在该子树中,这种限制和$b$不在$a$的左子树中等价。

  设$dp[i][j]$为以$i$为根,子树大小为$j$的方案数,枚举左子树大小转移。

  时间复杂度$O(n^3)$。

 

标签:左子,子树,复杂度,76,测试,强制,树中,节点,模拟
来源: https://www.cnblogs.com/hz-Rockstar/p/11732098.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有