洛谷 P1198 JSOI2008 最大數

2022-06-01 09:09:11 字數 613 閱讀 9087

維護乙個初始為空的數列,支援以下兩種操作,操作共m次:

1.查詢當前數列中末尾k個數中的最大的數。

2.將x插入到數列的末尾。

維護乙個線段樹,支援單點修改,區間查詢

#include #include #include using namespace std;

typedef long long ll;

ll m, x, k, t, mod, cnt;

ll a[400010];

char opt;

void push_up(ll x)

void add(ll x, ll l, ll r, ll n, ll k)

ll mid = l + r >> 1;

if (n <= mid) add(x << 1, l, mid, n, k);

if (n > mid) add(x << 1 | 1, mid + 1, r, n, k);

push_up(x);

}ll query(ll x, ll l, ll r, ll l1, ll r1, ll ans = 0)

int main()

else

}}

洛谷 P1198 JSOI2008 最大數

p1198 jsoi2008 最大數現在請求你維護乙個數列,要求提供以下兩種操作 1 查詢操作。語法 q l 功能 查詢當前數列中末尾l個數中的最大的數,並輸出這個數的值。限制 l不超過當前數列的長度。2 插入操作。語法 a n 功能 將n加上t,其中t是最近一次查詢操作的答案 如果還未執行過查詢操...

洛谷P1198 JSOI2008 最大數

現在請求你維護乙個數列,要求提供以下兩種操作 1 查詢操作。語法 q l 功能 查詢當前數列中末尾l個數中的最大的數,並輸出這個數的值。限制 l不超過當前數列的長度。2 插入操作。語法 a n 功能 將n加上t,其中t是最近一次查詢操作的答案 如果還未執行過查詢操作,則t 0 並將所得結果對乙個固定...

洛谷 P1198 JSOI2008 最大數

序列兩種操作 q l 輸出末尾l個數中的最大值 q 操作用查詢區間最大值即可完成,a 操作需要能夠 add 元素。線段樹明顯可以,理解也比較簡單 這裡採用樹狀陣列維護區間最大值的 板子 來滿足這兩種操作。類封裝的最值 include cstdlib include include include i...