SHAD рдореЗрдВ рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо

рдирдорд╕реНрдХрд╛рд░! рдореЗрд░рд╛ рдирд╛рдо рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рдХреБрд░рд┐рд▓рдХрд┐рди рд╣реИ, рдФрд░ рдореИрдВ рдПрд╕рдПрдбреА рд╣реЗрд▓реНрдкрд░ рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рдПрдХ рдкрд╛рдареНрдпрдХреНрд░рдо рдкрдврд╝рд╛ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рдкрд┐рдЫрд▓реЗ рд╡рд░реНрд╖реЛрдВ рдХреА рдкреНрд░рд╡реЗрд╢ рдкрд░реАрдХреНрд╖рд╛рдУрдВ рд╕реЗ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВрдВрдЧрд╛, рддрд╛рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдХреНрдпрд╛ рдЗрдВрддрдЬрд╛рд░ рд╣реИ рдФрд░ рд╣рдо рдЕрдкрдиреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдореЗрдВ рдХреНрдпрд╛ рд╕рд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкреНрдпрд╛рд░ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдЦреБрд╢реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ! рддреЛ рдЪрд▓реЛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИ ...



05/28/2016, рдирдВрдмрд░ 4


рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ nрдЦрдВрдб[ai;bi] ред рд╣рдо рд╕реЗрдЧрдореЗрдВрдЯ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ[ai;bi] рдХреНрд╖реЗрддреНрд░реЛрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╢рд╛рдорд┐рд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ред рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдВ рдЬреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдиреЗрд╕реНрдЯрд┐рдВрдЧ рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдореЗрдВ рдПрдХ рд╕реЗрдЧрдореЗрдВрдЯ 1000 рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред рд╕рдордп рд╕реАрдорд╛ рд╣реИO(nlogтБбn) , рдЕрддрд┐рд░рд┐рдХреНрдд рдореЗрдореЛрд░реА рджреНрд╡рд╛рд░рд╛ -O(n) ред


рдлреЗрд╕рд▓рд╛

, "". , - , , - , . " ", ai, " ", bi. . , 1. , 1000, , тАФ 1000 . тАФ - , , . , (std::multiset C++), . , тАФ 1000 . , , , , *set.begin(), ( 1000 ) . , ! , , . , . , , !


: 1000 ? , - 1000 , 1000 , - , ? , - 1000 , , , , , .


, . O(nlogтБбn), O(nlogтБб1000)=O(n)O(n) . , : O(nlogтБбn). O(n).


05/25/2019, рдирдВрдмрд░ 4


рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рджреА рдЧрдИ рд╣реИ Aред рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕реБрдЭрд╛рдПрдВ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЛ рдЦреЛрдЬрддрд╛ рд╣реИAрджрд╛рдИрдВ рдУрд░ рдирд┐рдХрдЯрддрдо рддрддреНрд╡ рдХрд╛ рдПрдХ рд╕реВрдЪрдХрд╛рдВрдХ, рдХрдо рд╕реЗ рдХрдо рджреЛ рдмрд╛рд░ рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ред рдпрджрд┐ рдРрд╕рд╛ рдХреЛрдИ рддрддреНрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдорд╛рди рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПредNone. O(nlogтБбn), тАФ O(n).


(,). ( None), (A[nтИТ1],nтИТ1), . i. , , , ? , . , , , ? . , . , (A[i],i). , , ? , ( ) i. (, , std::vector) , A[i]тЛЕ2. , ( ), , None.


, , ? , O(n), n, O(nlogтБбn), . , , , O(n).


10.06.12, тДЦ5
n( AB, , BA). n├Чn. тАФ , , . , , . тАФ O(n), тАФ O(1).


Kij=1, i- j- , 0 .


, Kij=1 (iтЙаj), i- , - , j- , Kij=0, j- , i- .


: тАФ . , 1, , l. , ( 0), , , , , - ( , , l). l- тАФ , (l,l+1). 1, , , . , . , , , ( ), , , , . , , , O(n), , O(n). : O(n). , , (, ), O(1). !


, , !


2019, -, D


, 2
: 2
: 256Mb


nm. q┬л i1┬╗. .


тАФ , . , .


. , , .



nmтАФ (1тЙдn,mтЙд105,2тЙдn). mu, v, w. , w, uv(1тЙдu,vтЙдn,1тЙдwтЙд10).


qтАФ (1тЙдqтЙд105). qid(1тЙдidтЙдm )ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ-рдПрдХ рдХрд░рдХреЗ рдкрд╕рд▓реА рдХреЗ рд╡рдЬрди рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИредid ред рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрд░рдо рд╕реЗ рдПрдХ рд╕реЗ рдЧрд┐рдирд╛ рдЬрд╛рддрд╛ рд╣реИред


рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк


рдЫрд╛рдк qрд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдпрд╛ рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП q рд╕рдВрдЦреНрдпрд╛ - рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рдж рдиреНрдпреВрдирддрдо рдлреИрд▓реЗ рд╣реБрдП рдкреЗрдбрд╝ рдХрд╛ рд╡рдЬрдиред


рдлреЗрд╕рд▓рд╛

, , 99% . .


" uv", k. uvk( . k+1, , uv>k+1, k+1, , ╠Б ), , 1. . , , . O(n), , , O(logтБбn)link-cut tree, , ( ). .


1 10, 10 ( , ). k- тЙдk. . : , ( ) , , . , , , , .


(u,v)1 k. k- . , k- uv. , k+1, , . , uvk- , 1. uvk- , тЙдk, .


, , ? O(╬▒(n)), O(10тЛЕmlogтБбn)=O(mlogтБбn). , Accepted :)


All Articles