3.29模拟赛总结

为什么最近一直在犯困啊…

而且睡不醒的现象直线上升,是因为感冒在逐渐痊愈嘛?感冒确实好了很多啦!

有20分没调出来20分没写 挺可惜的

时间安排

7.30-9.30

先看了看题 感觉T1数据结构 T2概率期望 T3 sam上dp吧,感觉t3题意描述特别别扭反复看了好几遍…

先搞了搞T1 先想的莫队,感觉n根号30只能冲四档分,灵机一动觉得线段树不错,写着写着发现问题 merge的时候是线性基大小平方的,于是考虑小块暴力,块长和线性基大小的一半相同,然后其他合并
(还没写,这是想法)

然后开始对着T3dp,感觉sam上dp很别扭 很不好维护那个子串限制,然后就一边想一边自闭还有点困(什么)

9.30-10.20

写了T1的线段树,我原来以为能跑五档,是写的时候才意识到上面分析出来的问题的…然后写完之后开始卡常,本地能把第四档跑过去之后心满意足开溜(然后oj上还是没跑过去,我恨!!!)

10.20-11.00

略微又分析了一下T3之后,茅塞顿开开始写60的kmp)考虑做两遍前缀和就可以了

11.00-12.00

又想了一会T2,最后还是打了暴力,其实我感觉应该前两档的20和后面一档20都可写,不知道为什么赛时没人写 ) 我是最后第一档没调出来,第二档没时间敲了,以后这种活还得放到一开始做qwq

题目分析

T1

见上 考虑线段树维护线性基,小块暴力大块合并,最后复杂度应该略小于 O ( n l o g n l o g W l o g W ) O(nlognlogWlogW) O(nlognlogWlogW)

update

其实这个按端点维护是应该想到的,倒不如说当时考虑了按端点维护,不过选了左端点感觉很奇怪然后就…我泪…

T2

我想的是一个dp, f [ s , i ] f[s,i] f[s,i] 表示当前剩余的物品集合为 s s s ,开了 i i i 枪的期望,转移考虑打中东西和没打中两种。

不知道为什么不对,是不是还要再dp一下概率, 但是感觉这样怪怪的…

update

维护 f [ s , i ] , g [ s , i ] f[s,i],g[s,i] f[s,i],g[s,i] 分别表示表示当前剩余的物品集合为 s s s ,开了 i i i 枪的期望/概率

考虑新开一枪,我们注意到, f f f是带有概率的,但是新的一枪造成的价值 j j j,必须乘上到达 f f f 的概率,才是它对于转移到的 f f f的期望价值

因此转移柿子应该是

可以打中:
f [ s   x o r   ( 1 < < k ) , i + 1 ] + = ( f [ s , i ] ∗ 1 m + g [ s , i ] ∗ 1 m ∗ j ) f[s~xor~(1<<k),i+1]+=(f[s,i]*\frac{1}{m}+g[s,i]*\frac{1}{m}*j) f[s xor (1<<k),i+1]+=(f[s,i]m1+g[s,i]m1j)

不可以打中:
f [ s , i + 1 ] + = ( f [ s , i ] ∗ 1 m ) f[s,i+1]+=(f[s,i]*\frac{1}{m}) f[s,i+1]+=(f[s,i]m1)

老实说 在给我一点时间调我也不一定调的出来XD

T3

考虑最后一起计算贡献,对于一个左端点,计算它所有可能的右端点的答案,因为我们可以发现,每多一个右端点,影响的答案是一段后缀

两遍前缀和就好

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值