摘要: 题意:给出 n个数,找到尽量长的一个序列,使得该序列中没有重复的元素思路:对于该类段查找问题可以采用经典的滑动窗口方法,即维护一个窗口,窗口的左右边界用两个变量L,R代表,先增加R直到出现重复数字,再增加L,再增加R,直到R达到n滑动窗口 求解;当右端碰到有相同的数的时候,左端向右滑动一位数samp... 阅读全文
posted @ 2016-01-08 16:06 小小泽 阅读(1074) 评论(1) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 8 int main() 9 {10 int N, number;11 string str;12 m... 阅读全文
posted @ 2016-01-07 16:59 小小泽 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int main(int ac, char*av[]) 7 { 8 string keyboard = "`1234567890-=qwertyuiop[]\\a... 阅读全文
posted @ 2016-01-04 13:08 小小泽 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 题意:输入一窜字符,然后输出每个字符在键盘上对应位置的前一位的字符,如输入W则输出Q,注意全部是大小写!其实就是破解密码类的问题。 1 #include 2 #include 3 using namespace std; 4 5 int main(int ac, char*av[]) 6 { ... 阅读全文
posted @ 2016-01-04 12:26 小小泽 阅读(189) 评论(0) 推荐(0) 编辑
摘要: C++ string 詳解 阅读全文
posted @ 2016-01-04 12:10 小小泽 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目:编码翻译,有些字母有对应的数字,有的没有,如果连续对应的数字相同只输出一个。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 int rep( char c ) 7 { 8 sw... 阅读全文
posted @ 2016-01-03 21:42 小小泽 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 题意:有一个键盘坏了 会在你不知道的情况下按下home或者end 给你这个键盘的实际输入 要求输出显示器上的实际显示解析:输入最大5MB 直接数组检索肯定会超时,用数组模拟链表 next数组表示显示屏中s[i]右边的字符编号,变量cur模拟光标,即当前光标位于s[cur]的右边。 变量l... 阅读全文
posted @ 2016-01-03 19:44 小小泽 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个n个整数的数组,进行多次查询,每次查询输出第k个v的位置。题解:定义map >mm;那么mm[i][j]表示的就是第j+1个i的值的位置。为什么?我们将每个v映射成map中的一个键,用变长数组vector保存v的所有位置;那么mm[v]对应的就是vector,就是所有v的位置,然后查询... 阅读全文
posted @ 2016-01-03 15:38 小小泽 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 int main() 8 { 9 int cases, cols, northRow, southRow;10 cin >> ca... 阅读全文
posted @ 2016-01-02 23:28 小小泽 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 经典问题,矩形面积并。解法:一、矩形分割,每个矩形的两个横坐标和两个纵坐标排序,这样得到2n*2n个区间,对这些区间依次判断是否包含在n个矩形中间即可。 二、扫描线。具体还没实现过。详见:http://www.algorithmist.com/index.php/UVa_688另:http://... 阅读全文
posted @ 2016-01-02 15:41 小小泽 阅读(481) 评论(0) 推荐(0) 编辑