摘要:
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6579 题意: 有一个长度为n的整数序列a,有两种操作: 0 l r:从[l,r]中选择一些数字,使它们的异或和最大,输出最大值; 1 x:将x附加到序列的末尾,并让n=n+1。 题目要求强制在线,las 阅读全文
摘要:
kmp算法前置技能:无 kmp算法是一种高效的字符串匹配算法,对于在给定长为n的主字符串S里查找长为m的模式字符串P,可以将时间复杂度从O(n m)优化为O(n+m)。 kmp算法的核心是一个被称为部分匹配表(Partial Match Table)(下文简称为PMT)的数组。对于一个字符串“aba 阅读全文
摘要:
数位dp前置技能:记忆化搜索+动态规划 数位dp一般应用于:求出给定区间[A, B]内,符合条件P(x)的数x的个数。条件P(x)一般于数的大小无关,而与数的组成有关。 例题:求区间[a, b]中不包含49的数的个数,其中0 include using namespace std; int a, b 阅读全文
摘要:
记忆化搜索前置技能:搜索+动态规划 在信息学中,有两种非常常见的解决问题的方法——搜索和动态规划。搜索的优点在于容易实现,并且如果解决方案存在一定可以找到,但是缺点是它不能很好地处理重叠子问题。动态规划较好地处理了重叠子问题,但是当问题的拓扑关系比较复杂的时候,动态规划也很无奈。记忆化搜索(Memo 阅读全文