Teek is Loading...
主题
观察行动字符串的特性:
以上特性指向倍增。
设 fk,0/1,i,j 表示用 P 开 / B 开长度为 2k 的字符串,能否从 i 点走到 j 点,使用 Floyd 思想可以做到 O(n3logV)。
注意到 Floyd,即 f∈[0,1],所以 Bitset 优化可以做到 O(n3logVω)
按 2k 从大到小拼路径的时候同样使用 Bitset 存当前可以到达哪些点,每次枚举是否有新点可以到达,注意每走完一个 2k,下一步需要切换是 P 开还是 B 开。这一部分时间复杂度 O(n2logVω)。