alice收到乙份來自美國的生日禮物:乙個嶄新的雙鏈火車,火車有n節車廂,依次編號為1到n,你可以在該玩具上進行兩種操作:
a:把x號車廂移到y號車廂前面;
b:把x號車廂移到y號車廂後面。
alice收到禮物後很興奮,玩了數小時,記錄下每一步的操作以至於他能還原到最初的狀態(從左到右,按照1到n的順序排列)。
當他要進行還原的時候,alice發現無法進行反操作恢復原貌,只能請你幫忙寫乙個程式計算出最少需要多少次操作才能回到原始狀態。
先模擬,這個是雙向鍊錶的工作,讓後將移動過後的序列取出來,在序列上面作lis,那麼答案就是n-lis
為什麼?很簡單lis上的數不用動其他的都一次移動搞定就好了
#include#include#include#define n 500010
using namespace std;
char c[3]; int inf=0x7f7f7f7f;
int l[n],r[n],s[n],f[n],n,m,a=0;
int main(){
scanf("%d%d",&n,&m);
for(int i=0;i<=n;++i) l[i]=i-1,r[i]=i+1;
l[0]=n; r[n]=0;
for(int a,b,i=0;i
1005 生日禮物
題目描述 description 輸入描述 input description 輸入的第一行包含2個整數n 1 n 8 m 1 m 10 表示有n種不同型別的本子和m種小寒喜歡的顏色。接下來乙個n m的矩陣。第i行第j列的整數aij表示在第i種型別的本子中包含小寒喜歡的顏色j的紙有aij 1 aij...
codevs1005 生日禮物
時間限制 1 s 空間限制 128000 kb 題目等級 gold 輸入描述 input description 輸入的第一行包含2個整數n 1 n 8 m 1 m 10 表示有n種不同型別的本子和m種小寒喜歡的顏色。接下來乙個n m的矩陣。第i行第j列的整數aij表示在第i種型別的本子中包含小寒喜...
NOIP2006 生日禮物
題目描述 一對雙胞胎兄妹同一天過生日,這一天,他們的朋友給他倆送來了禮物,每個人送的禮物都是2本書,一本給哥哥,一本給妹妹,但沒有說明哪本是給妹妹的,哪本是給哥哥的,每本書都有自己的價值,為了避免衝突,讓你來分配,要求使得兩人所獲得書本的價值和之間的差距盡可能的小。例如,有4個禮物 3,5 7,11...