小明這些天一直在思考這樣乙個奇怪而有趣的問題:
在 1∼n 的某個排列中有多少個連號區間呢?
這裡所說的連號區間的定義是:
如果區間 [l,r] 裡的所有元素(即此排列的第 l 個到第 r 個元素)遞增排序後能得到乙個長度為 r−l+1 的「連續」數列,則稱這個區間連號區間。
當 n 很小的時候,小明可以很快地算出答案,但是當 n 變大的時候,問題就不是那麼簡單了,現在小明需要你的幫助。
輸入格式
第一行是乙個正整數 n,表示排列的規模。
第二行是 n 個不同的數字 pi,表示這 n 個數字的某一排列。
輸出格式
輸出乙個整數,表示不同連號區間的數目。
資料範圍
1≤n≤10000,
1≤pi≤n
輸入樣例1:
432
41
輸出樣例1:
7
輸入樣例2:
534
251
輸出樣例2:
9
方法:暴力列舉
#include
#include
using
namespace std;
int n;
int f[
10010];
int cnt;
intmain()
else}}
cout << cnt;
return0;
}
連號區間數
小明這些天一直在思考這樣乙個奇怪而有趣的問題 在1 n的某個全排列中有多少個連號區間呢?這裡所說的連號區間的定義是 如果區間 l,r 裡的所有元素 即此排列的第l個到第r個元素 遞增排序後能得到乙個長度為r l 1的 連續 數列,則稱這個區間連號區間。當n很小的時候,小明可以很快地算出答案,但是當n...
連號區間數
小明這些天一直在思考這樣乙個奇怪而有趣的問題 在1 n的某個全排列中有多少個連號區間呢?這裡所說的連號區間的定義是 如果區間 l,r 裡的所有元素 即此排列的第l個到第r個元素 遞增排序後能得到乙個長度為r l 1的 連續 數列,則稱這個區間連號區間。當n很小的時候,小明可以很快地算出答案,但是當n...
連號區間數
問題描述 小明這些天一直在思考這樣乙個奇怪而有趣的問題 在1 n的某個全排列中有多少個連號區間呢?這裡所說的連號區間的定義是 如果區間 l,r 裡的所有元素 即此排列的第l個到第r個元素 遞增排序後能得到乙個長度為r l 1的 連續 數列,則稱這個區間連號區間。當n很小的時候,小明可以很快地算出答案...