【hdu】5637 Transform -bfs

传送门:hdu5637


题解

虽然 x x x表示成32位,然而 s i , t i , a i ≤ 1 0 5 s_i,t_i,a_i\leq 10^5 si,ti,ai105实际上只需要 2 17 2^{17} 217内的数。
于是每次从0开始 b f s bfs bfs,求到 i i i的最短路(最少操作次数) d i s i dis_i disi即可( 0 ≤ i ≤ 1 0 5 0\leq i\leq 10^5 0i105)。
询问 O ( 1 ) O(1) O(1)回答: d i s [ s   x o r   t ] dis[s\ xor \ t] dis[s xor t]

时间复杂度 O ( T ( a i ( n + log ⁡ a i ) + m ) ) O(T(a_i(n+\log a_i)+m)) O(T(ai(n+logai)+m))

你可能感兴趣的:(最短路)