约 10 分钟
查 [l,r]:取 k=⌊log2(r-l+1)⌋,用两个长 2^k 的区间覆盖整个 [l,r](允许重叠,因为求 max 重复不影响):max(f[l][k], f[r-(1<<k)+1][k])。
[l,r]
k=⌊log2(r-l+1)⌋
2^k
max(f[l][k], f[r-(1<<k)+1][k])
为什么两个区间重叠也没关系?
登录 后可看答案