棧 字首和 數列編輯器

2021-10-01 15:00:16 字數 1407 閱讀 2315

第一行包含乙個數字n,表示操作的個數。

接下來包含n 行,每行包含一條命令。

對於每個q k 命令,輸出乙個整數表示這個操作的答案。

sample input

8

i 2i -1

i 1q 3ld

rq 2

sample output
2

3

因為k

kk保證在游標前且是字首和是1

11到k

kk,那麼…

設定乙個對頂棧

乙個棧裝1到游標處的數列(x)

(x)(x

)乙個裝游標處(後)到最後乙個數(本陣列可能為空)(y)

(y)(y

)那麼i

ii:將x

xx插入第乙個棧

d

dd:彈出x

xx棧的棧頂

l

ll:將x

xx棧的棧頂裝到y

yy棧,然後彈出x

xx棧的棧頂

r

rr:將y

yy棧的棧頂裝到x

xx棧,然後彈出y

yy棧的棧頂

-----------------------------上述操作到要進行求字首和求和與求字首和最大-----------------------------

d

dd:輸出f[k

]f[k]

f[k]

#include

#include

#include

#include

using

namespace std;

int sum[

1000005

], f[

1000005];

int a[

1000005

], b[

1000005];

int n, k, af, bf;

char c;

intread()

//數字快讀

char

read_c()

//字母快讀

intmain()

else

if(c ==

'd')

else

if(c ==

'l')

else

if(c ==

'r')

else

if(c ==

'q')

}return0;

}

acwing 編輯器 棧 字首和 dp

你將要實現乙個功能強大的整數序列編輯器。在開始時,序列是空的。1 i x 在游標處插入數值x。2 d 將游標前面的第乙個元素刪除,如果前面沒有元素,則忽略此操作。3 l 將游標向左移動,跳過乙個元素,如果左邊沒有元素,則忽略此操作。4 r 將游標向右移動,跳過乙個元素,如果右邊沒有元素,則忽略次操作...

128 編輯器 雙棧

你將要實現乙個功能強大的整數序列編輯器。在開始時,序列是空的。1 i x 在游標處插入數值x。2 d 將游標前面的第乙個元素刪除,如果前面沒有元素,則忽略此操作。3 l 將游標向左移動,跳過乙個元素,如果左邊沒有元素,則忽略此操作。4 r 將游標向右移動,跳過乙個元素,如果右邊沒有元素,則忽略次操作...

利用棧做行編輯器

問題 include include include includeusing namespace std define true 1 define false 0 define ok 1 define error 0 define infeasible 1 define overflow 2 ty...