比赛总结

发挥较好,排第5,分数80+100+45=225

开场发现A是原题,先跳过

B很像hf集训的题目特殊二叉树,也不看

C看上去是防ak题不是很可做,也不看。滚回去看A

发现A就是去年八月A组的题目,连样例和样例解释也是一样的。怕spfa被卡,打了堆优化+dij,在考试开始时50min打完

C有60分暴力很好拿,每次枚举反转极大区间即可。写+调使用了20min。接下来使用10min检查A。写完暴力以后思考了20min,以为这道题是数据结构上的奇技淫巧,就没做,滚去写B

再次审视B,发现B要求权值,然而hf集训的题目只要求“是否可行”。于是想了一个区间dp:设f[l][r][k]表示区间[l,r]组成的树,根为k的最大价值。只能拿50分。

由于特殊二叉树(即hf集训的题目)说正解是dp套dp,昨天做的皮配也是dp套dp。于是想了很久dp套dp,无果。只能写70分暴力。

在考试前50min想到B的一个性质:树无论怎么换根,都符合条件,只是价值不一样。于是就不用存树的根,状态可以减少一维。只需要设f1[l][r]表示[l,r]是父亲的右儿子,f2[l][r]表示[l,r]是父亲的左儿子即可。

于是写了B的二维dp。调了30余min,终于在考试结束13分钟时调出,完成绝杀。

但是我A,C都爆了一些分。A数组开小,分数-=20。C没有想到把极大区间反转不一定最优,分数-=15。

总结:考试一定要检查数组开的是否足够大。并且每一道题目,做法都要尽量能够证明正确性。

转载于:https://www.cnblogs.com/rilisoft/p/11327542.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值