8.9总结
得分
100+20+65
第二题写挂了30分,凉凉
T1
正解
以前做过的原题,但是没有印象了,考试重新想。
经过思考我们发现,一个点到另一个点的方式有两种。第一种是直接走过去,第二种是在当前位置往某个方向射一个传送门,然后走进最近的墙传送。所以连边跑SPFA就好了。
T2
二叉查找树的中序遍历序列是唯一的,做区间dp。
比赛想到了n^4的方法,设f[l][r][z]表示l~r的区间的根节点为z。
正解
优化状态。
设f[l][r][0/1]表示l~r以某个节点为根,挂在l-1节点或r+1节点上。
这样设状态转移是n^3的。
T3
60分做法显然,枚举旋转中心然后往外扩张。
正解
刚刚那样子做由于不知道扩张到哪里会让答案变大,所以很浪费时间。
对与一个a[i]要转移到i,旋转中心x是唯一确定的,把它挂在x上面。
枚举旋转中心的时候不用一个一个跳,按挂在它上面的点来跳。
O(nlogn)
小结
- dp写出来却没有满分从两个方面去思考优化。一是思考如何优化状态。二是思考如何优化转移的过程。