ICode9

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

考试总结 模拟76

2019-10-20 12:56:13  阅读:313  来源: 互联网

标签:左子 那么 20 sum T2 T3 76 模拟 考试


之前连续爆炸,没想太多

前20分钟读题:T1看上去没思路,暴力dp很好打,T2 一点思路都没有,只会20分的n==3的指数枚举,T3看着前序中序遍历,更没有思路了

T1先是想不断交换来满足题意,然后打表,发现有个假的规律,继续深究才看出来,总共写了2个小时,太慢了,主要是边想正解边想部分分,而zzyy大佬只用了30分钟

还有1h20min,T2,T3交替思考什么都没有思考出来,

T2打开了大样例,没有排序输出发现性质,注意去从下发文件入手,如果不是随机数据,那很可能就有规律

T3 catalan的20分,,,考的第三次,第三次没看出来。然后跟catalan相关的也只有一个出栈入栈顺序 还没考过?

 

T1「性质题」

打表发现(字典序最小)构造方式:最终有cnt个倒序的区间,las个数升序放队首,最后满足las+倒序长度<b的区间(0/1个)+cnt个倒序小区间构成

如:n=10,a=5,b=3:1 2 4 3   7 6 5   10 9 8 

 

T2「性质题」

根据大样例可得:

先将a从小到大排序,那么若当前的a_i / 2>sum_{i-1},那么[sum_{i-1},a_i]的区间无法被覆盖

证明:

对于一个sum,会使[sum/2.sum]的数都成为美妙的数

考虑从小到大加入每个物品:

那么上一个区间[sum/2,sum],

当前a_i=sum*2,那么会扩展到[sum*3/2,3sum],而只选a_i会覆盖[sum,2*sum]

也就是保证了没有空隙,

当a_i更大时,显然只会产生空隙即[sum_i+1,a_i/2],不管是选前i-1共sum个还是a_i都不行

 

T3「DP」

定义f[i][j]为以i为根的子树大小为j的方案数

可以发现限制只有两种情况,

对于前序a<b的,

若要求中序a在b之后,那么b只能在a的左子树,由于编号连续,那么左子树大小必然>=所有满足改条件max{b-a}

若a在b前,那么b不能在a左子树,可以在右子树,也可是在lca的另一侧,那么左子树大小必然<min{b-a}

预处理出来所有的限制

然后O(n^3)依次枚举节点编号i,子树大小j,和左子树大小k

$$f[i][j]=\sum f[i+1][k]* f[i+k+1][j-k-1]$$

注意f[i][1]不能初始化1,因为可能不存在子树大小为1的情况

 

标签:左子,那么,20,sum,T2,T3,76,模拟,考试
来源: https://www.cnblogs.com/casun547/p/11691213.html

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

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

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

ICode9版权所有