09 2017 档案
摘要:1、HDU 3374 String Problem(见《KMP专题》15) 2、hdu 2609 How many(见《KMP专题》16) 3、uva 1314 Hidden Password 题意:给出一个字符串,求其最小表示法。 思路:最小表示法模板 1 #include<iostream> 2
阅读全文
摘要:1、UVa 1401 Remember the Word 题意:给出n个字符串集合,问其有多少种组合方式形成目标字符串。 思路:对n个字符串集合建立Trie树,保存每个结点的字符串的顺序编号。然后对这棵树查找目标字符串每一个后缀的前缀字符串,累加。 1 #include<cstdio> 2 #inc
阅读全文
摘要:1、uva 10054 The Necklace(欧拉回路) 题意:有n个具有两种颜色的珠子,现在需要将其串起来,要求前后珠子相邻颜色相同。 思路:以每一种颜色为结点,以珠子为边,判断是否联通和是否存在欧拉回路。 1 #include<iostream> 2 #include<vector> 3 #
阅读全文
摘要:后缀数组基本模板 ①倍增法(时间O(NlogN),空间O(N)) 1 #include<iostream> 2 using namespace std; 3 const int maxl = 100010; 4 char s[maxl]; 5 int totlen; 6 int r2[maxl],
阅读全文
摘要:1、uva 1449/LA 4670 Dominating Patterns 题意:有n个模板串和一个文本串,找出哪些模板串在文本串中出现次数最多。 思路:AC自动机模板 1 #include<cstring> 2 #include<queue> 3 #include<cstdio> 4 #incl
阅读全文
摘要:1、UVA 11525 Permutation 题意:求1~k这k个数中第N个排列。(N从0开始记)。N=sum(Si*(k-i)!)(1≤i≤k) 思路:根据N的值的性质,联系康拓展开,不妨发现第i位的值为剩下没用的数中从小到大第Si+1个。可以用线段树来记录区间内没有用的数的个数。 1 #inc
阅读全文
摘要:1、hdu 1166 敌兵布阵(★☆☆☆☆) 题意:有n个营地,每个营地初始各有若干人,每次询问[l,r]营地的总人数,或者对某个营地加上或减去若干人数。 思路:线段树单点更新,区间查询 1 //线段树单点更新,区间查询 2 #include<iostream> 3 using namespace
阅读全文

浙公网安备 33010602011771号