第四屆藍橋杯真題 連號區間

2021-09-19 15:48:00 字數 1198 閱讀 6404

本來想練習並查集,然後在看官網提示這是並查集型別題目,上來先默寫了一下並查集,想了半天並查集怎麼寫。。我呸,並查集。。這裡找規律。。區間的【最大值-最小值】=【區間長度】,直接列舉。。。討厭這種找規律的題。。。

#include #include 

#include

#include

using

namespace

std;

const

int maxn = 50000 + 100

;int

n;int

pi[maxn];

void

solve()

int ans =n;

intmax1, min1;

for (int i = 0; i < n; i++)

if (min1 >pi[j])

if (max1 - min1 == j -i) }}

cout

<< ans <}int

main()

歷屆試題 連號區間數  

時間限制: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

posted @

2018-03-08 22:55

douzujun 閱讀(

...)

編輯收藏

藍橋杯 第四屆藍橋杯省賽C B組 連號區間數

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

高僧鬥法 藍橋杯第四屆大賽真題

問題描述 古時喪葬活動中經常請高僧做法事。儀式結束後,有時會有 高僧鬥法 的趣味節目,以舒緩壓抑的氣氛。節目大略步驟為 先用糧食 一般是稻公尺 在地上 畫 出若干級台階 表示n級浮屠 又有若干小和尚隨機地 站 在某個台階上。最高一級台階必須站人,其它任意。如圖1所示 兩位參加遊戲的法師分別指揮某個小...

藍橋杯2023年第四屆真題剪格仔

問題 1432 藍橋杯 2013年第四屆真題 剪格仔 時間限制 1sec 記憶體限制 128mb 題目描述 歷屆試題 剪格仔 時間限制 1.0s 記憶體限制 256.0mb 問題描述 如下圖所示,3 x 3 的格仔中填寫了一些整數。10 1 52 20 30 1 1 2 3 我們沿著圖中的星號線剪開...