基礎演算法 模擬

2021-10-14 15:19:07 字數 1165 閱讀 5488

給乙個長度為n的陣列a,我們現在要選出乙個序列,要求就是這個序列的中位數最接近k,輸出最長的那個滿足要求的序列在陣列a中的下標

輸入:n和k,陣列a

輸出:最長的滿足要求的序列的長度len,以及下標 p1, p2, …, plen (1 ≤ pi ≤ n, pi < pi + 1)

input

5 31 2 3 4 5

output

51 2 3 4 5

input

5 42

1 2 3 4 5

output15

直接模擬就好了,但是最開始的時候好像我理解錯了題意。

#include

using

namespace std;

typedef

long

long ll;

const

int maxn =

2e5+5;

const ll mod =

1e9+7;

struct nodeg[maxn]

;bool

cmp(node a,node b)

intmain()

sort

(g +

1,g +

1+ n,cmp)

;int ans =

1e9;

int len;

int res;

int id;

for(

int i =

1;i <= n;i++

)elseif(

abs(g[i]

.val - k)

== ans)}}

cout << res << endl;

vector<

int>vec;

vec.

clear()

;if(id <=

(n +1)

/2)}

else

}sort

(vec.

begin()

,vec.

end())

;int tmp = vec.

size()

;for

(int i =

0;i < tmp;i++

)return0;

}

基礎演算法 模擬

剛開始有乙個空棧,我們可以對這個棧進行n次操作,每次操作之後返回棧中數字的最大值a i 如果棧為空,那麼則返回0,即a i 0。怎樣對棧進行操作題目已經給出,需要求的是 直接模擬,剛開始隊友可能想到線段樹維護最大值 需要注意的是除了題目中描述的函式的變數型別不改為long long,其他的變數型別全...

基礎演算法 模擬 細節

1337 翻轉遊戲 例如 遊戲有兩關一共4盞燈,第一關levs為 第二關為 你需要5步完成這個遊戲,因為燈初始狀態為 5個步驟依次是 check,check。輸入多組測試資料,第一行乙個整數t,表示資料個數,其中1 t 10 之後有t組相同結構的資料 每組資料第一行包含兩個整數n,m,其中1 n,m...

基礎演算法模擬 例題 C

在漫長的刷題練習過程中,幾乎所有稍微熟練一點的oier都會,但是都幾乎沒有經過系統的學習,今天,我們就來講講模擬演算法,也是為了複習emm。定義?模擬還有什麼定義嗎?那什麼是模擬呢?就是按照題目給的操作,用 依次描述出來即可。noip會考嗎?會考!但是大家在刷題過程中一定會遇到這種題,其實只要看清是...