(學軍集訓)魚和熊掌不可兼得

2021-10-01 08:01:48 字數 729 閱讀 3211

互動題。

有乙個排列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...