篝火晚會(NOIP 2005 提高組 第三題)

2021-08-07 08:20:30 字數 1212 閱讀 4742

篝火晚會(noip 2005 提高組 第三題)

題目概述

一共有n個同學,編號從1到n。一開始,同學們按照1,2,……,n的順序坐成一圈,實際上每個人都有兩個最希望相鄰的同學。每乙個命令的形式如下:這裡m的值是由佳佳決定的,每次命令m的值都可以不同。這個命令的作用是移動編號是b1,b2,…… bm的這m個同學的位置。要求b1換到b2的位置上,b2換到b3的位置上,……,要求bm換到b1的位置上。執行每個命令都需要一些代價。我們假定如果乙個命令要移動m個人的位置,那麼這個命令的代價就是m。我們需要佳佳用最少的總代價實現同學們的意願,如果無論怎麼調整都不能符合每個同學的願望,則輸出-1。

資料規模

3 <= n <= 50000

思路 這個題比較難。

想到正解思路並不容易,正解的第一點就是最後的答案事實上應該是目標序列和原序列不相同的數的最小值。簡要證明一下:假設目標序列上的元素x和原序列相同位置不相同,那麼就只需要1個代價來把它恢復到正確的位置上,其它的亦然。

然後我們就想到了這樣乙個思路,目標序列構造好了之後,由於它的開頭不一定,有2*n種序列需要比較,我們就逐一比較,這就是o(n^2)的演算法。

顯然對於50000的資料,這樣是不會過的。那麼還有乙個思路,就是求原序列和目標序列之間的距離,並將之記錄下來,然後就是o(n)的時間複雜度,然後輸出n-min(count[length])啦。

NOIP2005 篝火晚會

題目 分析 置換群.首先理解題意 b1,b2,bn是無限制的,並非連續,並非遞增,隨便選。於是可以形成若干個環,乙個環的花費是這個環包含的元素個數。所以,最小花費就是多少個人不在應在的位置上。再,多少個人不在應在的位置上 n 最多多少人在應在的位置上。然後,這個可以用偏移量求,求偏移量中包含元素最多...

Noip2005 篝火晚會

佳佳剛進高中,在軍訓的時候,由於佳佳吃苦耐勞,很快得到了教官的賞識,成為了 小教官 在軍訓結束的那天晚上,佳佳被命令組織同學們進行篝火晚會。一共有nnn個同學,編號從111到nnn。一開始,同學們按照1,2,n1,2,n1,2,n的順序坐成一圈,而實際上每個人都有兩個最希望相鄰的同學。如何下命令調整...

NOIP 2005 篝火晚會

額 對這組題感興趣的具體的解題報告可以戳戳這裡 問題描述 佳佳剛進高中,在軍訓的時候,由於佳佳吃苦耐勞,很快得到了教官的賞識,成為了 小教官 在軍訓結束的那天晚上,佳佳被命令組織同學們進行篝火晚會。一共有n個同學,編號從1到n。一開始,同學們按照1,2,n的順序坐成一圈,而實際上每個人都有兩個最希望...