题意:模拟一个文本编辑器,可以输入字母数字下划线,如果遇到'['则认为是Home键,如果是']'则认作End键。问最终屏幕上显示的结果是什么字符串。分析:如果在数组用大量的移动字符必然很耗时。所以next数组表示显示屏中s[i]右边的字符编号,变量cur模拟光标,即当前光标位于s[cur]的右边。变...
分类:
其他好文 时间:
2014-09-18 22:14:14
阅读次数:
225
题意 有一个键盘坏了 会在你不知道的情况下按下home或者end 给你这个键盘的实际输入 要求输出显示器上的实际显示
输入最大5MB 所以直接数组检索肯定会超时的 用数组模拟链表 就可以很快了
#include
#include
using namespace std;
const int N=100005;
char s[N];
int next[N];
int main()
...
分类:
其他好文 时间:
2014-09-17 12:07:32
阅读次数:
185
第一题:题目大意:和day1一样,给出m个小于n的数,求出出现次数大于mdiv 2的数。数据范围加大,1<=n<=2^31 1<=m<=3000000解题过程:1.一开始写了个数组模拟链表hash,按mod指数p分类,用一个数组记录每一类的个数,如果每一类个数全部都小于等于一半,那么无解,如果有一个...
分类:
其他好文 时间:
2014-08-22 22:26:49
阅读次数:
228
题目大意你有一行盒子,从左到右依次编号为1, 2, 3,…, n。你可以执行四种指令:1 X Y表示把盒子X移动到盒子Y左边(如果X已经在Y的左边则忽略此指令)。2 X Y表示把盒子X移动到盒子Y右边(如果X已经在Y的右边则忽略此指令)。3 X Y表示交换盒子X和Y的位置。4 表示反转整条链。盒子个...
分类:
其他好文 时间:
2014-07-24 12:20:15
阅读次数:
264