不总结了 睡觉! 真的很困
现在就是困和不困的叠加态:不精神但睡不着睡不着睡不着并且头疼
和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(n2m30∗30)(注意卡上下界是远远跑不满的 可以除至少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)),w−x] 转移就好( 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]=∑y∈sonxmx[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,l−1])
因为带修 还需要搞个set存一下值
(感觉很对啊怎么想怎么对啊 怎么回事呢)
upd
需要维护的变量其实已经基本处理出来了
其实也没挂分…虽然不知道为什么本地样例3re
没想到的就是矩乘维护
链剖都想到了