8.25 Day9

75+100+35=210 rk2

T1

直接比较 ai1ai

如果 ai1<ai限制了x的在他们的最高不同位必须是0

如果 ai1>ai限制了x的在他们的最高不同位必须是1

分位考虑,开两个桶记录,直接暴力修改即可

时间复杂度:O(30n)

T2

暴搜优化

T3

55->35

没看见有个挡lmax<=200自己卡自己,少了20分

一个朴素的想法,设dpi表示A1...i的最小代价,转移就从前面dpj(j<i) 转移,加上Aj+1...i的最小代价

关于最小代价,可以把B插入trie树,每个点记录min_c

时间复杂度:O(nlmax)

考虑另一种转移:

枚举前后缀转移,考虑一个固定的𝐵𝑥,如果𝐵𝑥[:𝑗]𝐴[:𝑖]的后缀,则可以以代价𝑐𝑥𝑑𝑝[𝑖𝑗]𝑑𝑝[𝑖]。同理,如果𝐵𝑥[:𝑗]𝐴[𝑖:]的前缀,则可以以代价𝑐𝑥𝑑𝑝[𝑖]𝑑𝑝[𝑖+𝑗]

我们发现每一段𝑗都满足二分性质,在前后缀分别求出𝑗的合法范围,用线段树转移,复杂度𝑂(𝑚𝑛log𝑚+𝐿)

将长度大于𝐾的用方法1,其余的用方法2,总复杂度为𝑂(𝑚𝐿𝐾log𝑚+𝑚𝐾)
𝐾=𝑂(𝐿log𝑚),总复杂度为𝑂(𝑚𝐿log𝑚)

posted @   Linnyx  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示