省选模拟赛2022/3/14

比赛时间安排

7.30-8.00
t1 期望!!其实昨天透了一点题,这道题是矩乘加期望,感觉很难的样子。看完题目有点晕晕的,样例推不对,过了
t2 感觉前面可用弗洛伊德预处理一下,然后再dp一下吗?好像N^2Q的,能过30
t3 题面差不多,好像是让求一棵树,但是吧,样例没懂,怎么4种情况,一脸懵逼

8.00-9.30
写t2的dp,分成两类,一类是len1<len2,一类是len1>len2,也就是一个要删数,一个要添数,用 f [ i ] [ j ] f[i][j] f[i][j]表示已经处理了i个字母,删或添了j个字母,然后因为知道删了多少个,和目前处理了多少个,那么匹配到另一个串的第几个字母也就知道了

正当我觉得一切都没有问题的时候,我发现样例不对,打表过后发现依然很奇怪,然后突然意识到,原来添和删可以在任意位置!自闭了,不会写了,就自己继续推,最后也没推出来

9.30-10.30
看t1,再读题,发现懂了,样例也推出来了,我觉得是个贪心,每次都只用那两棵树肯定是最优的,对于第二棵树,一定选p*b最大的,但是第一棵貌似没法确定,于是写了个nmlogm的算法,能过40,中间式子推错了,老是漏项,导致调了好久大样例才过。然后就想,不能就这样放着啊,能骗一点是一点,于是就写了个卡时限的东西一直循环(最后60,出乎意料)

10.30-11.00
把t3的暴力写了,然后在想有没有什么能优化的,发现并没有

11.00-12.00
t2改过题面之后感觉l2==r2可以写,4e7的复杂度,7s还是能跑的,于是果断放弃前面的30,去写这个,既然最后只有一个字符,那么一定是删了一些字符,那么我先预处理出删字符代价前缀和,就能知道删l1-r1的代价 了,然后我要保留一个字符,那一定是使得w[i][j]-B[i]最小的,要找这个,我选择了st表,写完之后,马上到时间了,一测大样例,发现错了,心态崩了,最后也没来得及找出来

赛后总结反思

  1. t3的20分写挂了,赛后要订出来,错误以后争取不再犯
    错误订出来了:(1)ans可能为负数,输出的时候没+p%p(2)now没初始化(3)题意理解错了,第i位就是从右往左的(我觉得这个应该是没写清楚,或者说我太笨了)
  2. t2有思路但是时间过于紧张,主要是把大量时间花在30分上了,时间分配上有点过于自信自己能写出来了,不过适当放弃了,还是可以的

与正解的差距

T1

比赛的时候想的贪心是不正确的,比如,在刚开始的时候,我一定是选概率最大的,不然会对后面产生很大的影响,但是比如到最后一局了,选概率大的没用了,因为不可能再让平衡树出场了,所以要选一个贡献最大的,所以贪心不对

正解是斜率优化+矩乘

由于概率期望不太熟,所以基础dp式就有点问题,不过现在知道了,从后往前设状态,然后把失败和成功的状态类似于求siz,加上就行

然后发现可以斜率优化,而且此时,Y是不带f[j]的,第一次见这种类型,可以提前将凸包维护出来,然后每次找最优决策的时候弹队头就行

然后发现很多i的最优值都是一个点,于是进行矩乘+倍增优化,看哪些i的最优质是j(倍增,处理出2^x的转移矩阵,然后向跳lca一样从大到小枚举,看哪些能走),用矩乘转移就行了(感觉很复杂,也许多写写就会了)

T2

正解的暴力竟然说是普及组知识点,我真的不会啊,不过看过题解之后就了解了,又见了一种新的dp形式!
正解还没订

T3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值