九校2D2T1 旋轉子段

2022-02-04 08:17:13 字數 720 閱讀 6157

zyl有n張牌編號分別為1, 2,……,n。他把這n張牌打亂排成一排,然後他要做一次旋轉使得旋轉後固定點盡可能多。如果第i個位置的牌的編號為i,我們就稱之為固定點。旋轉可以被認為是將其中的乙個子段旋轉180度,這意味著子段的第一張牌和最後一張牌交換位置,以及第二張牌和倒數第二張牌交換位置,等等。寫乙個程式,找到旋轉子段(子段長度可以為1)。

第一行包含乙個整數 n (1 ≤ n ≤500 000)。

第二行有n個數,第i個數表示旋轉之前第i個位置的牌的編號。

找到固定點最多的旋轉所選的子段,輸出旋轉之後固定點的個數。

43 2 1 4

4在樣例1中,只需要旋轉的子段[3,2,1],將排列變成1 2 3 4,旋轉後所有的牌都為固定點。答案為4。

30%的資料滿足:n ≤ 500;

60%的資料滿足:n ≤ 5000;

100%的資料滿足:1 ≤ n ≤ 100 000。

#include #include #include #include #include #define maxn 500005

using namespace std;

int n,a[maxn],keep[maxn],c;

vectorg[maxn<<1];

bool cmp(int x,int y)

} printf("%d\n",ans);

return 0;

}

BJ模擬(2) D2T1 簡單粗暴的題目

簡單粗暴的題目 題目背景 thoj25 分析 本題一看真的很粗暴,在一想也的確非常粗爆,那麼我們就用粗暴的方法,首先,我們發現直接暴力,我們需要算n2 個數的k 次方,顯然複雜度上是不能接受的,我們發現對於第i個 answer 其實就是,s i k s i s i 1 k s i s i 1 s i...

九校3D2T2 交錯的字串

mark douglas是一名律師。他的客戶yuri ball在一場車禍中不幸去世。為了幫助yuri的親屬拿到他的遺產,mark需要得到乙個密碼。在yuri的筆記本上,有乙個長為2n的只包含小寫字母的字串,mark知道密碼恰好是將這個字串分解為兩個長度為n的子串行且它們構成的字串恰好相反的方案數。我...

2018D1T2 貨幣系統

記貨幣種類為 n 面額陣列為 a 1.n 的貨幣系統為 n,a 貨幣系統 n,a 與 m,b 等價,當且僅當對於 forall x in mathbf n x 要麼均可以被兩個貨幣系統表示,或者不能被任何乙個表示。給定乙個貨幣系統 n,a 求與其等價的貨幣系統 m,b 並使 m 盡可能小。我們把貨幣...