JOISC2014B 家庭菜園

2022-03-26 00:11:53 字數 502 閱讀 4021

link

對於乙個交換後的序列\(b_i\),其最小交換次數為每個數在原序列的位置構成的排列\(p_i\)的逆序對數。

那麼從小到大列舉每個數,把它刪掉,它對答案的貢獻就是剩下的數和它形成的逆序對數。

因此我們可以用bit維護,注意列舉時要把相同的數同時處理。

#include#include#includeconst int n=300007;

struct nodea[n];

int n,t1[n],t2[n];

int read()

void add(int p,int v)

int ask(int p)

int main()

,add(i,1);

std::sort(a+1,a+n+1,(node a,node b));

for(int l=1,r;l<=n;l=r)

printf("%lld\n",ans);

}

JOISC 2014 Day1 有趣的家庭菜園

joisc 2014 day1 有趣的家庭菜園 前置技能 樹狀陣列。如果我們知道了目標序列,我們就可以構造乙個序列p,它的每乙個元素就是目標序列這一位置的元素在原序列的位置,那麼答案就是原位置序列 也就是 通過氣泡排序達到目標序列所需的交換次數目。而氣泡排序的交換次數就是p的逆序對的數量。由於要滿足...

藍橋杯 2014 B組

啤酒每罐2.3元,飲料每罐1.9元。小明買了若干啤酒和飲料,一共花了82.3元。我們還知道他買的啤酒比飲料的數量少,請你計算他買了幾罐啤酒。注意 答案是乙個整數。請通過瀏覽器提交答案。不要書寫任何多餘的內容 例如 寫了飲料的數量,新增說明文字等 窮舉法的應用。主要就是列舉。類似於雞兔同籠問題。一根高...

2014藍橋杯本科B組 螞蟻感冒

問題描述 長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺 秒。當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。請你計算,當所有螞蟻都爬離桿子時,有多少只...