BZOJ 1507 Editor】的更多相关文章

Description Input 输入文件editor.in的第一行是指令条数t,以下是需要执行的t个操作.其中: 为了使输入文件便于阅读,Insert操作的字符串中可能会插入一些回车符,请忽略掉它们(如果难以理解这句话,可以参考样例). 除了回车符之外,输入文件的所有字符的ASCII码都在闭区间[32, 126]内.且行尾没有空格. 这里我们有如下假定:MOVE操作不超过50000个,INSERT和DELETE操作的总个数不超过4000,PREV和NEXT操作的总个数不超过200000.所有…
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1507 题意:一个文本编辑器,模拟以下操作: 思路:块状链表的主要操作: (1)find(p,b):找到位置p在链表的位置b: (2)split(b,p):将第b块分裂成两块,前一块大小为p: (3)maintain(b):将b块之后的碎片合并: 利用以上三种操作可以完成插入串.删除一段串.得到一段串三种操作.另外三种操作比较简单. (1)insert(p,n,str):在位置p之后插入…
2016-06-18 当时关于块状链表的想法是错误的,之前维护的是一个动态的$\sqrt{n}$,所以常数巨大,今天才知道原因TwT,请不要参照这个程序为模板!!! 模板题水啊水~~~ 第一次写块状链表,先写一个模板题(⊙o⊙) 块状链表虽然效率大概在O(n√n),但它几乎没有常数,相比较理论上复杂度较快的O(nlogn)的Splay还是要快,因为Splay常数太大啦!感觉比较笨重.也许这就是许多OIer热衷分块的原因吧. BZOJ 1507(因为O2优化,没有内存池) #include<cma…
bzoj 1269 题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1269 大致思路: 用splay维护整个文本信息,splay树的中序遍历即为该文本. 收获: 1.可以先在文本开始和结尾个插入一个节点,然后每次操作都适当调整位置,这样可以减少特判(插入一段文本到0位置,在最后插入一段文本...) 2.查找一段文本[lf,rg],可以先找到位置为lf-1的节点(因为1,不用特判没有了),splay到根,再找到rg+1的节点,旋转到根的下面,…
Description Input 输 入文件editor.in的第一行是指令条数t,以下是需要执行的t个操作.其中: 为了使输入文件便于阅读,Insert操作的字符串中可能会插入一些回车符,请忽略掉它们(如果难以理解这句话,可以参考样例). 除了回车符之外,输入文件的所有字符的ASCII码都在闭区间[32, 126]内.且行尾没有空格. 这里我们有如下假定:  MOVE操作不超过50000个,INSERT和DELETE操作的总个数不超过4000,PREV和NEXT操作的总个数不超过20000…
题目大意: 1.将光标移动到某一位置 2.在光标后插入一段字符串 3.删除光标后的一段字符 4.输出光标后的一段字符 5.光标-- 6.光标++ 和1269非常像的一道题,只是弱多了 几个问题须要注意: 1.插入的字符串中间竟然会有回车! .没办法了,仅仅能逐个字符进行读入.一旦读到'\n'或者'\r'就又一次读入 2.题目描写叙述中说Delete和Get操作后面一定会有足够的字符 纯属放P 连例子都没有足够的字符用来删除 所以删除时要和字符串长度取一个最小值 然后就水水地过去了~ 30%达成…
写完维修数列 这不是水题嘛233333 //By SiriusRen #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N=5000050; int n,pos=1,ch[N][2],fa[N],size[N],root,xx,cnt; char op[15],ins[N],v[N]; void push_up(int x){size[x]=s…
splay..( BZOJ 1507 题目基本相同..双倍经验 ) ----------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<algorithm> #include<iostream>   #define rep( i , n ) for( int i = 0 ; i <…
目录 前言 练习1 BZOJ 3224 普通平衡树 练习2 BZOJ 3223 文艺平衡树 练习3 BZOJ 1588 [HNOI2002]营业额统计 练习4 BZOJ 1208 [HNOI2004]宠物收养场 练习5 BZOJ 1507 [NOI2003]文本编辑器 editor 练习6 BZOJ 1503 [NOI2004]郁闷的出纳员 前言 学习于yyb 本来是想写个算法解释,克自己写了一半总感觉像复制的,各位就去yyb哪里学吧 这里附上几个BZOJ的模板题 \n \n \n \n 练习1…
http://www.lydsy.com/JudgeOnline/problem.php?id=1507 当练splay模板了,发现wjmzbmr的splay写得异常简介,学习了.orzzzzzzzzzzz!!!!!! 这个版本很好写的,比数组的好写多了.但是异常的慢啊T_T 这个版本的splay,会修改null的fa,但不影响结果,这点要记住. #include <string> #include <cstdio> using namespace std; char strI[1…