藍橋杯2013 連號區間數

2021-08-16 16:46:13 字數 653 閱讀 3091

連號區間數  

時間限制:1.0s   記憶體限制:256.0mb

問題描述

小明這些天一直在思考這樣乙個奇怪而有趣的問題:

在1~n的某個全排列中有多少個連號區間呢?這裡所說的連號區間的定義是:

如果區間[l, r] 裡的所有元素(即此排列的第l個到第r個元素)遞增排序後能得到乙個長度為r-l+1的「連續」數列,則稱這個區間連號區間。

當n很小的時候,小明可以很快地算出答案,但是當n變大的時候,問題就不是那麼簡單了,現在小明需要你的幫助。

輸入格式

第一行是乙個正整數n (1 <= n <= 50000), 表示全排列的規模。

第二行是n個不同的數字pi(1 <= pi <= n), 表示這n個數字的某一全排列。

輸出格式

輸出乙個整數,表示不同連號區間的數目。

樣例輸入1 4

3 2 4 1

樣例輸出1 7

樣例輸入2 5

3 4 2 5 1

樣例輸出2 9

#include#includeusing namespace std;

int main()

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

return 0;

}

藍橋杯 1210 連號區間數

acwing 原題通道 題意分析 給我們1 n的排列,讓我們求出這個排列中有多少個連號區間,連號區間也就是對這個區間排序之後,相鄰兩數相差為1。先分析資料範圍有105,那麼我們可以使用時間複雜度為o nlongn 的演算法,如果想不出來可以考慮o n2 的演算法。我們先來理一下暴力的思路 for 列...

藍橋杯C PREV 7 連號區間數

資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 小明這些天一直在思考這樣乙個奇怪而有趣的問題 在1 n的某個全排列中有多少個連號區間呢?這裡所說的連號區間的定義是 如果區間 l,r 裡的所有元素 即此排列的第l個到第r個元素 遞增排序後能得到乙個長度為r l 1的 連續 數列,則...

藍橋杯 2013真題 連號區間數

小明這些天一直在思考這樣乙個奇怪而有趣的問題 在1 n的某個全排列中有多少個連號區間呢?這裡所說的連號區間的定義是 如果區間 l,r 裡的所有元素 即此排列的第l個到第r個元素 遞增排序後能得到乙個長度為r l 1的 連續 數列,則稱這個區間連號區間。當n很小的時候,小明可以很快地算出答案,但是當n...