BZOJ 1269 文字編輯器 Splay

2021-09-06 18:44:32 字數 1099 閱讀 7570

題目大意:維護乙個文字編輯器,支援下列操作:

1.將游標移動到某一位置

2.在游標後插入一段字串

3.刪除游標後的一段字元

4.翻轉游標後的一段字元

5.輸出游標後的乙個字元

6.游標--

7.游標++

splay中比較水的一道題,標記僅僅有區間翻轉,也不用維護區間總值,只有須要注意的就是插入的時候fa要記得賦值,不然就會像本蒟蒻一樣調半天,,,

這題要注意的是insert操作的讀入 首先讀入第乙個不是'\n'或者'\r'的字元,然後假設長度不為1就繼續gets() 記住是get()不是scanf

然後就沒啥了。。。 20%達成 啊啊爽翻天

#include#include#include#includeusing namespace std;

struct abcd*null=new abcd(0),*root=null;

abcd :: abcd(char c)

void abcd :: reverse()

void abcd :: push_up()

void abcd :: push_down()

}void zig(abcd *x)

void zag(abcd *x)

void splay(abcd *x,abcd *tar)

if(x==y->ls)

else

}x->push_up();

}void find(abcd *x,int y,abcd *z)

} splay(x,z);

}char s[1<<21];

void build_tree(abcd *&x,int l,int r)

int cursor,m;

int main()

for(i=1;i<=m;i++)

else if(p[0]=='d')

else if(p[0]=='r')

else if(p[0]=='g')

else if(p[0]=='p')

cursor--;

else

cursor++;

}}

3 文字編輯器vim

2 vim沒有選單,只有命令。一般寫一些配置檔案,或者小指令碼的時候使用。3 vim工作模式 插入命令 命令 作用 a 在游標所在字元後插入 a 在游標所在行尾插入 i 在游標所在字元前插入 i 在游標所在行行首插入 o 在游標下插入新行 o 在游標上插入新行 定位命令 命令 作用 set nu 設...

命令(三) 文字編輯器應用

一,vi 純文字編輯器 內部操作 1 vimtutor命令可以看它的操作方法 2 ctrl u向檔案頭翻半屏,ctrl d 往檔案尾翻半屏,ctrl f 往檔案尾翻一屏,ctrl b 往檔案首翻一屏 3 esc從編輯模式到命令模式 4 行號跳到指定的行 5 dd,ndd命令模式下刪除行 6 p或者p...

0 7 文字編輯器的使用

vim vim hello.c 按i鍵進入插入模式 編輯文件 按esc鍵進入命令模式 按 鍵進入底行模式,然後wq儲存並退出 命令列模式 yy 複製游標所在行 myy 複製游標開始的n行 p 貼上 dd 刪除游標所在行 ndd 刪除游標開始的n行 name 查詢名為 name 的字串 g 移動到檔案...