请教一个题的线性做法
  • 板块学术版
  • 楼主言琢დ
  • 当前回复6
  • 已保存回复6
  • 发布时间2025/1/24 16:29
  • 上次更新2025/1/24 20:10:16
查看原帖
请教一个题的线性做法
50606
言琢დ楼主2025/1/24 16:29

有个问题。给定一个长度为 nn 的二进制串。假设用 a1ana_1\sim a_n 表示。你可以选择一段区间 [i,j][i, j],然后翻转(即 i,ji,j 交换位置、i+1,j1i+1,j-1 交换位置、以此类推)

目标是使得翻转后的二进制串构成的二进制数最小。

n5×105n\le5\times10^5ai{0,1}a_i\in\{0,1\},构成的二进制数定义为 a1a2an\overline{a_1a_2\cdots a_n}

有没有线性做法?如没有,O(nlogn)\mathcal O(n\log n) 亦可。

2025/1/24 16:29
加载中...