6.12模拟赛总结

不总结了 睡觉! 真的很困

现在就是困和不困的叠加态:不精神但睡不着睡不着睡不着并且头疼

和xq搞了一个对联

上联:困困困困困困困

下联:润润润润润润润

横批:开摆!

我以为今天要人均二百 我是真的觉得要人均二百 三个题都非常非常非常常规)

时间安排

7.30-8.30

看题 写T1

8.30-8.50

给T1搞了点常数优化 跑了个大数据 2.8秒稳定过

8.50-10.00

无能狂怒狂推T2 以为有单调性 后来又脑出来没有非常sadddddddddddd

100->48

10.00-11.00

放弃想T2正解 老实暴力 顺便带着一丝完蛋了的悲凉(感觉人均200)写完打打表 发现好像转移点有单峰性质 但是想了想自己还没写的T3 哈哈

11.00-12.00

爆冲T3 最后第三个大样例过不去 疯狂迷茫 在自闭和自闭中交题

题目分析

T1

很签吧)

考虑 f [ i , s , w ] f[i,s,w] f[i,s,w] 表示考虑了前 i i i 个物品 用了状态为 s s s 的操作的 最大权值为 w w w 的概率

转移考虑枚举补集的子集

复杂度 O ( n 2 m 30 ∗ 30 ) O(n2^m30*30) O(n2m3030)(注意卡上下界是远远跑不满的 可以除至少4 后面是15*15)

转移时枚举这个点用了什么操作 以及这些操作拼出某个值的概率

这个东西需要预处理 来做到转移O(1)

所以考虑预处理 g [ i , s , w ] g[i,s,w] g[i,s,w] 表示点 i i i 用了 s s s 里的操作拼出 w w w 的概率

复杂度 n 2 m 30 n2^m30 n2m30

预处理时考虑从 g [ i , s − ( s g[i,s-(s g[i,s(s & ( − s ) ) , w − x ] (-s)),w-x] (s)),wx] 转移就好( x x x 是枚举的选出来的值)

T2

显然 如果枚举 l , r l,r l,r 那么上下界固定

感觉像是扫描线

upd

我的思路和题解已经大差不差了

我想到可以把两个边界放到线段树里一起维护

但没有想到直接维护枚举的那一维度 然后搞个单调栈来维护另一维是什么值

T3

树形dp

f [ i , l ] f[i,l] f[i,l] 表示从 i i i 向子树内连了一条 l l l 的链的最大收益

因为要修改 所以要维护 m x [ x ] = ∑ f [ x , j ] mx[x]=\sum f[x,j] mx[x]=f[x,j]

s m x [ x ] = ∑ y ∈ s o n x m x [ y ] smx[x]=\sum_{y\in son_x} mx[y] smx[x]=ysonxmx[y]

因为考虑 f [ i , l ] = s m x [ x ] − m i n ( m x [ y ] − f [ y , l − 1 ] ) f[i,l]=smx[x]-min(mx[y]-f[y,l-1]) f[i,l]=smx[x]min(mx[y]f[y,l1])

因为带修 还需要搞个set存一下值

(感觉很对啊怎么想怎么对啊 怎么回事呢)

upd

需要维护的变量其实已经基本处理出来了

其实也没挂分…虽然不知道为什么本地样例3re

没想到的就是矩乘维护

链剖都想到了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值