互動題。
有乙個排列p,你每次可以詢問乙個排列ans,可以得到p與ans相同的位置有多少個(count(ans)),你需要在不超過limit的詢問次數內得出這個排列。
資料範圍:n
≤5000,l
imit
=50000
n\le5000,limit=50000
n≤5000
,lim
it=5
0000
考慮在o(n
logn
)o(nlogn)
o(nlog
n)次詢問內求解。
直觀的想法是逐位確定每乙個數,但這樣難免要在每一位列舉每乙個數,不可行。考慮與概率期望有關的隨機化演算法,注意到乙個排列的count為0的概率是較大的,隨機出乙個count=0的排列的期望次數為e。而錯排又有乙個美妙的性質:它到原排列是乙個置換。考慮先找出置換中的無向邊,再給邊定向。無向邊有n*(n-1)/2條,而交叉的無向邊之間會相互影響,考慮將他們分為互不相交的若干組,對於每一組可用分治在總複雜度o(n
logn
)o(nlogn)
o(nlog
n)內求出置換中的無向邊(同「黃昏之時」)。發現對於邊(u,
v)
(u,v)
(u,v
)按照(u+
v)
(u+v)%n
(u+v
)分組,每組都不相交,於是可求出。之後對於每乙個判斷舉它往哪個方向置換即可。
魚和熊掌不可兼得
互動。每次可以詢問乙個排列,返回這個排列與答案排列相同位置的個數,求出這個答案排列。n 5 103 que ries 5 1 04 n le 5 times 10 3 queries le 5 times 10 4 n 5 10 3 qu erie s 5 104考慮先求出乙個錯排,那答案會形如若干...
「魚」和「熊掌」也能兼得 省時省心
魚和熊掌 自古就有魚和熊掌不能兼得的典故。二者不可得兼,捨生而取義者也 當今社會,受利益驅使,紛紛擾擾眼花繚亂的產品很多,魚和熊掌不能兼得的事比比皆是。同樣是自己的產品,部署和相容性都有問題。運維軟體也是,現在的使用者要求都很高,且眾口難調。有嚮導的純flash的網路拓撲展現 省時省心 相對於c s...
「魚」和「熊掌」也能兼得 省時省心
魚和熊掌 自古就有魚和熊掌不能兼得的典故。二者不可得兼,捨生而取義者也 當今社會,受利益驅使,紛紛擾擾眼花繚亂的產品很多,魚和熊掌不能兼得的事比比皆是。同樣是自己的產品,部署和相容性都有問題。運維軟體也是,現在的使用者要求都很高,且眾口難調。有嚮導的純flash的網路拓撲展現 省時省心 相對於c s...