高階打字機

2022-03-14 12:22:34 字數 1253 閱讀 5885

題目描述:

早苗入手了最新的高階打字機。最**自然有著與以往不同的功能,那就是它具備撤銷功能,厲害吧。

請為這種高階打字機設計乙個程式,支援如下3種操作:

1.t x:在文章末尾打下乙個小寫字母x。(type操作)

2.u x:撤銷最後的x次修改操作。(undo操作)

(注意query操作並不算修改操作)

3.q x:詢問當前文章中第x個字母並輸出。(query操作)

文章一開始可以視為空串。

輸入描述:

第1行:乙個整數n,表示運算元量。

以下n行,每行乙個命令。保證輸入的命令合法。

輸出描述 output description

每行輸出乙個字母,表示query操作的答案。

樣例輸入:

7 t a

t b

t c

q 2

u 2

t c

q 2

樣例輸出:

對於40%的資料 n<=200;

對於50%的資料 n<=100000;保證undo操作不會撤銷undo操作。

《高階挑戰》

對於100%的資料 n<=100000;undo操作可以撤銷undo操作。

#include

using namespace std;

#define n 2000010

char s[n];

int tot,root[n/2],len[n/2],ls[n],rs[n];

inline int

read()

while(ch>='0'&&ch<='9')x=x

*10+ch-'0',ch=getchar();

return

x*f;

}void update(int& y,int

x,int l,int r,int

pos,char c)

}void query(int

y,int l,int r,int

pos)

}int main()

else

if(cmd[0]=='u')

else query(root[vs],1,100000,read());

}return

0;}

高階打字機

早苗入手了最新的高階打字機。最 自然有著與以往不同的功能,那就是它具備撤銷功能,厲害吧。請為這種高階打字機設計乙個程式,支援如下3種操作 t x 在文章末尾打下乙個小寫字母x。type操作 u x 撤銷最後的x次修改操作。undo操作 注意query操作並不算修改操作 q x 詢問當前文章中第x個字...

高階打字機

題目描述 請為一種高階打字機設計乙個程式,支援如下3種操作 2.u x 撤銷最後的x次修改操作。undo操作 注意query操作並不算修改操作 文章一開始可以視為空串。輸入描述 第1行 乙個整數n,表示運算元量。以下n行,每行乙個命令。保證輸入的命令合法。輸出描述 每行輸出乙個字母,表示query操...

高階打字機

題目描述 早苗入手了最新的高階打字機。最 自然有著與以往不同的功能,那就是它具備撤銷功能,厲害吧。請為這種高階打字機設計乙個程式,支援如下3種操作 2.u x 撤銷最後的x次修改操作。undo操作 注意query操作並不算修改操作 文章一開始可以視為空串。輸入格式 第1行 乙個整數n,表示運算元量。...