上一页 1 ··· 56 57 58 59 60 61 62 63 64 ··· 74 下一页
摘要: OJ题号: BZOJ4516 题目大意: 按顺序在一个序列的末尾插入数字,每次求出插入后能得到的本质不同的子串个数。 思路: 每次在SAM后加入这个数字,每次新出现的本质不同的子串个数就等于new_p->len-new_p->link->len。 由于数字范围比较大,可以考虑离散化或者map。 事实 阅读全文
posted @ 2017-09-14 14:03 skylee03 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 求多个字符串的LCS。 思路: 同SPOJ-LCS2,不过因为SPOJ上数据比较水,当时用错误的写法过掉了,这次用正确的写法重新过了一遍。 拓扑排序按照每个状态的len值,用计数排序实现。 每个状态往上更新时,应该对std::min(s[p].maxlen,s[q].len)取max(每 阅读全文
posted @ 2017-09-14 11:27 skylee03 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给你一个字符串s,求出不同长度出现次数最多的字串的最大出现次数。 思路: 先对s构造后缀自动机,然后把s放进去匹配,每一个经过的结点表示一种长度的子串,用一个cnt记录能以每个状态表示的子串数量,然后按拓扑序DP。 注意拓扑序并不等同于在SAM中插入的次序,因为用new_q替代q的操作会 阅读全文
posted @ 2017-09-14 07:03 skylee03 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 求若干个字符串的LCS。 思路: 对于第一个字符串构造SAM,然后把后面的字符串放在SAM中匹配,对于同一个字符串匹配到的同一个状态,记录其匹配长度之max, 然后对于不同的字符串匹配到的同一个状态,记录其匹配长度之min,然后对于所有的状态取max。 然而这样只能过9个点,第10个点会 阅读全文
posted @ 2017-09-13 09:44 skylee03 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 求两个字符串的LCS。 思路: 对其中一个字符串构建SAM,然后用另一个字符串在里面匹配,按照SAM的边一直往下走,匹配到的连续的字符数就是公共字串的长度。 阅读全文
posted @ 2017-09-12 12:39 skylee03 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给定一个环长为奇数的带权基环树,支持以下两种操作: 1.两点间最短路取反; 2.两点间最短路求最大子段和。 思路: 首先找出环,然后对每一个外向树轻重链剖分, 用线段树维护每一个区间的和、前缀和最值、后缀和最值及子段最值。 每次修改时,分下列两种情况讨论: 1.两个点在同一棵外向树上,按 阅读全文
posted @ 2017-09-11 18:26 skylee03 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给你一棵树,一开始每个点的权值都是0,要求支持一下三种操作: 1.路径加等差数列。 2.路径求和。 3.回到以前的某次操作。 强制在线。 思路: 树链剖分+主席树。 最坏情况下,n个点的树最多会被分成n-1个链, 这里不能每个点都开一个主席树,因为主席树中要存每个线段树的根结点编号,总共 阅读全文
posted @ 2017-09-07 20:15 skylee03 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 有一棵结点个数为n的树,有m个操作,可以将一段路径上每条边的权值+1或询问某一个边的权值。 思路: 树链剖分+线段树。 轻重链划分本身比较简单,主要需要思考如何用线段树维护每条链。 当x,y不在同一条链上时,先处理深度大的链,对于每一个链,建立一棵动态开点的线段树,用一个数组len顺序记 阅读全文
posted @ 2017-09-06 14:44 skylee03 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给定一棵带权树,试找出长度在L和U之间的路径,使得权值和与路径长度比最大,求出这个权值。 思路: “权值和与路径长度比最大”显然是一个经典的分数规划问题,考虑使用二分答案, 设每次二分出来的答案是m,将树上的每一条边减去m,这样问题就转化成了寻找一条边权和大于等于0的路径。 每次二分检验 阅读全文
posted @ 2017-09-05 18:50 skylee03 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给你一棵带权树,求出树中距离$\leq k$的点对个数。 思路: 运用树上分治的思想,每次找出树的重心,考虑以下三种情况: 1.两个结点在不同子树内,且距离$\leq k$,则算入答案中; 2.两个结点距离$\leq k$,但属于同一棵子树中,需要被算入答案中,但考虑到以后会被子树的重心 阅读全文
posted @ 2017-09-03 19:39 skylee03 阅读(121) 评论(0) 推荐(0) 编辑
上一页 1 ··· 56 57 58 59 60 61 62 63 64 ··· 74 下一页