1103 模拟赛总结

赛时安排

7:50~8:00 读题
8:10~9:00 先写了T1第一档枚举每一个线段选与不选的分数,然后接着想了想正解,想到了DP,但没想到怎么转移,然后先去做后面的题。
9:00~9:20 想了想T2的思路,想到了先求出每两个字母转化的最短距离,然后思考如何满足相同的按键连续按下至少K次这个条件,先想到贪心的思路,先找出前K个字母变成相同字母的最小代价,然后继续向后延展,然后思路卡住了,想不出来如何维护,就先放着了。
9:20~9:45 写了T3的第一档暴力分。
9:45~10:10 写了T4第一档暴力分,但是因为是 O ( 2 n ∗ m ) O(2^{n*m}) O(2nm)枚举,没有用dfs,在中途不会有剪枝,所以在编译样例后返回的时间T掉了…然后这个剪枝,想了想,也没想出和这个方法配套的剪枝…
10:10~11:10 回过头看了看T3,想到了树形DP,然后开始想转移方程。既然是选点,就开一个转移数组 f [ i ] [ 0 / 1 ] f[i][0/1] f[i][0/1],表示枚举到i点,当前点选与不选所能选的点的最大个数,然后又开了一个数组 s o n [ i ] [ 0 / 1 ] son[i][0/1] son[i][0/1]来维护该点选与不选时子树内选择点的最小权值,然后当该点不选时,就直接将下面的最大价值传上来,当该点选时,判断能否满足条件加上下面的权值,然后向上传。
11:10~11:45 想了想T1,想到了用组合数来求,找出每一组能够合成同一组的线段,然后和其它组的线段进行组合,接着没细想先码了出来,然后发现答案挂了…接着想了想,发现内部的线段也会组合成复杂度不同的子集,然后又挂住了…
11:45~12:05 又想了想T2…然后交卷

赛后总结

这次的题都是DP…大部分都能看出来需要用DP,但是,想不出来DP的状态,以及如何转移…对于写DP的思路,还是有些问题,T3写的树形DP也出现了问题,之后仔细想想发现,每次向上传可能会导致下面的答案丢失,然后答案会出现问题。对于DP上的思想还是不够全面,想的还是不够深入。

订正

T1

这道题的思路实际上并不难,实际上按照DP的思路向下想,不难把正解的思路想出来,但当时思路还是没打开,没有想到以每条线段为基本后,加边时对前面已有边的贡献的计算方法,把思路复杂化了,然后还在每次计算另一个范围的边的时候也把问题复杂化,一直在想着如果前面那个范围加边会怎么样,然后就把思路卡住了,没有想到加这条边后再加前面的边,实际上和先加前面的边后再加后面的边一个道理…以后要想到逆向思维来思考问题…

T2

T2这道题卡在了一个性质上,就是连击,我没有想到如果 N < 2 ∗ k N<2*k N<2k的话,那么整个序列的字母都一定是相同的。然后先处理出来前 2 ∗ k − 1 2*k-1 2k1个字母的最小代价,然后再往后转移,这样就对于连击k次的限制就不会特别大了。如果能想到这点的话,考场上应该还是可能能做出来的。

T3

题解:dsu on tree
压根就没想到这方面(刚做的专题没多久…),当时想到树形DP之后就感觉那个思路是对的…然后还有一点题目的意思是求LIS这一点没有想到,一直在思索一整棵子树中的价值,没有把树拆成链去想,如果拆成链的话,应该很快就能想到这个性质,把树拆成链来做的题还是做的少。

T4

To be continued…

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值