原題鏈結
考察:歸併排序
n恒為奇數,所以左右上下移動不會改變逆序對的奇偶性.
1 #include 2 #include 3using
namespace
std;
4const
int n = 250010
;5 typedef long
long
ll;6
intn,a[n],b[n],tmp[n];
7void read(intc)8
15}16 ll merge(int l,int r,int
a)17
28while(i<=mid) tmp[k++] = a[i++];
29while(j<=r) tmp[k++] = a[j++];
30for(int i=l;i<=r;i++) a[i] = tmp[i-l];
31return
ans;32}
33int
main()
3444
return0;
45 }
2021.3.5 二刷wa了n次發現read函式裡的c陣列寫成了a
**已經改成了二刷**,這題的關鍵點在於左右不改變逆序對個數,上下移動逆序對偶數次變化.
AcWing 108 奇數碼問題
題目描述 你一定玩過八數碼遊戲,它實際上是在乙個3 3的網格中進行的,1個空格和1 8這8個數字恰好不重不漏地分布在這3 3的網格中。例如 5 2 8 1 3 4 6 7在遊戲過程中,可以把空格與其上 下 左 右四個方向之一的數字交換 如果存在 例如在上例中,空格可與左 上 下面的數字交換,分別變成...
ACWING108 奇數碼問題(逆序對)
你一定玩過八數碼遊戲,它實際上是在乙個3 3的網格中進行的,1個空格和1 8這8個數字恰好不重不漏地分布在這3 3的網格中。例如 5 2 8 1 3 4 6 7 在遊戲過程中,可以把空格與其上 下 左 右四個方向之一的數字交換 如果存在 例如在上例中,空格可與左 上 下面的數字交換,分別變成 5 2...
108 奇數碼問題
類似我們小時候玩過的數字華容道,就是有乙個缺的然後可以移動變成不同的樣子,本題要你解決的是從狀態一能否通過移動變到狀態二。一開始拿到題一看這不就八數碼公升級版嗎,然後改了下八數碼 t了,其實結論做法很簡單,但是如果沒做過類似的題,可能想不到這裡去,這道題需要用奇偶性。奇偶性很神奇,對於一類問題,如果...