摘要: 题意: 判断是否能将字符串S分成三段非空回文串。思路: 先预处理出前缀回文串和后缀回文串的位置,将位置分别装入两个集合中,O(n)。 针对每个前缀回文串的终点位置,挑出不相交的后缀回文串,对中间那段进行暴力匹配即可。只有20个case,不会超时的。 具体的算法参考HIHOCODER HIHO... 阅读全文
posted @ 2015-08-01 23:03 xcw0754 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个序列,要求从这个序列中挑出k个数字,使得n%a1%a2%a3....=0(顺序随你意)。求k的最小值。思路:排个序,从大的数开始模起,这是因为小的模完还能模大的么? 每个元素可以选,也可以不选,两种情况。递归穷举每个可能性,O(2n)。 1 //#include 2 #includ... 阅读全文
posted @ 2015-08-01 22:52 xcw0754 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 题意:假设一个序列S有n个元素,现在有一堆约束,限制在某些连续子序列之和上,分别有符号>和d。而c是两个字符构成,判断前1个字符足矣。思路: 首先考虑要用点来表示什么,可以看到所给的是区间,也就是首尾的位置,可令sum(a)表示序列a[1...a]的和,那么表达式大概为sum(a+b)-sum(a... 阅读全文
posted @ 2015-08-01 17:57 xcw0754 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题意: 给一个n*m矩阵,每个格子上有一个数字a[i][j],给定L和U,问:是否有这样两个序列{a1...an}和{b1...bn},满足 L 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #d... 阅读全文
posted @ 2015-08-01 15:23 xcw0754 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题意: 有一个集合Z,其元素都是整整数,但是数量未知。现有n个约束,形如 [a,b]=c 表示整数区间[a,b]中有c个元素在Z中出现。问集合Z最小可能含多少个元素?思路: 对于所给的区间 cnt[b-a]>=k这可以保证了该区间内个数不少于k。但是由于两边都是闭区间,所以要变cnt[b-(a-... 阅读全文
posted @ 2015-08-01 11:45 xcw0754 阅读(161) 评论(0) 推荐(0) 编辑