上一页 1 ··· 55 56 57 58 59 60 61 62 63 ··· 74 下一页
摘要: 题目大意: 给定一个01序列,支持以下两种操作: 1.区间反转; 2.区间求不同的子序列数量。 思路: 首先我们考虑区间反转,这是一个经典的线段树操作。 接下来考虑求不同的子序列数量,在已知当前区间的情况下,我们有如下$O(n)$的动态规划:| $f_{i,0}=f_{i-1,0}+f_{i-1,1 阅读全文
posted @ 2017-09-18 13:21 skylee03 阅读(247) 评论(0) 推荐(1) 编辑
摘要: 题目大意: 有一个长度为n的数列,A和B两个人轮流从两端取数,B先取,A想使分数严格小于B且尽量接近B,问两人分数之差最小是多少。 思路: 折半搜索,先预处理出长度为part的最大差最小差,再预处理出后面一段能取到的不同差值,然后dfs,当范围等于part时,就在数组中二分查找一下。 这段代码在Si 阅读全文
posted @ 2017-09-18 10:32 skylee03 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给定一个数k表示你可以从包括0的斐波那契数列中任取k个数,得到它们的和。求最小的不能得到的自然数。 思路: 打表找规律,可以发现答案为f(2k+3)-1,然后用公式f(i)=f(i/2)*f((i+1)/2-1)+f(i/2+1)*f(x+1)/2)。当然也可以用矩阵快速幂。 阅读全文
posted @ 2017-09-18 10:25 skylee03 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给你两个字符串a和b,要求从a和b中各取出一个相等的子串,问不同的取法有多少种。 思路: 对于a串建立SAM,然后DP求出每个状态Right集合的大小。 然后把b串放进去匹配,对于每一个匹配到的结点p,它的每一个Right状态都可以匹配一个长度为tmp-s[s[p].link].len的 阅读全文
posted @ 2017-09-15 20:53 skylee03 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 来源: CE1998 题目大意: 求字符串最小表示。 思路: 字符串复制一遍接在后面,构建SAM,然后每次跑小的转移。 跑n次以后就跑到了最小表示的末尾,用该状态的len值减去n就是最小表示的起始位置。 阅读全文
posted @ 2017-09-15 15:38 skylee03 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 求字符串最小表示。 思路: 本来按照lbn187的课件,知道SAM可以求字符串最小表示。 然而他并没有提供例题,就自己找了一道做。 大体思想就是把字符串复制一遍接在后面,构建SAM,然后每次跑小的转移。 跑n次以后就跑到了最小表示的末尾,用该状态的len值减去n就是最小表示的起始位置。 阅读全文
posted @ 2017-09-15 15:36 skylee03 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给定一棵n带权树,每个点的权值在[1,n]范围内且互不相等,并满足子结点的权值一定小于父结点。 现在已知一个包含根结点的联通块中个点的权值,求剩下哪些点的权值能够被求出,并求出这些权值。 思路: 贪心。 很显然,对于某一个结点x,如果当前只有一个可取的权值w,且小于其父结点的权值,那么这 阅读全文
posted @ 2017-09-15 13:34 skylee03 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给你一个数列,我们数列中两个串是相似的当且仅当这两个串的长度至少为5、两个串差分后形成的数列一样且不相交,求最长的相似串的长度。 思路: 后缀自动机求最长不相交重复子串。 首先将差分后的数列构造SAM,然后按照拓扑序DP,得到每个状态right集合的最大值t与最小值s,表示当前状态对应的 阅读全文
posted @ 2017-09-14 20:26 skylee03 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给你两个字符串a和b,从中分别取出子串x和y,求不同的x+y的个数。 思路: 对于每一个字符串,构建SAM。 为了保证相同的x+y不会被重复统计,我们可以想办法只统计相同的x+y中x最长的一种情况。 考虑在SAM上DP。 用DFS对a的SAM进行遍历,若当前遍历到的串x不能加上字符c时, 阅读全文
posted @ 2017-09-14 18:19 skylee03 阅读(122) 评论(0) 推荐(0) 编辑
摘要: OJ题号:BZOJ3926、洛谷3346 题目大意: 给定一棵带权树,定义两个路径是不同的当且仅当两个路径上的权值构成的串不同,求本质不同的路径个数。 思路: 广义后缀自动机。 从每个叶子结点开始DFS,并依次加入到SAM中,对于每个加入的结点,last状态是其父亲节点所在的状态,其余插入过程与普通 阅读全文
posted @ 2017-09-14 15:40 skylee03 阅读(89) 评论(0) 推荐(0) 编辑
上一页 1 ··· 55 56 57 58 59 60 61 62 63 ··· 74 下一页