上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页
摘要: 题目传送门 题意:给出n个活动,m个人,请人需要花费$a[i]$的钱,举办一次活动可以赚$b[i]$的钱,但是需要固定的几个人在场,一个人只需要请一次后就必定在场,问最大收益。 思路: 下列结论来自hihocoder的例题 下面不加证明的给出几个概念和结论。 1)闭合子图:给定一个有向图,从中选择一 阅读全文
posted @ 2019-04-08 22:28 光芒万丈小太阳 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 思路: 观察到路径上除了终点起点以外的每个点出度和入度都为1,和网络流的拆点很像,所以就把每个点都拆成两个点,若存在一条路径$(u,v)$,则建一条$(u,v+n,1)$的边,然后求出最大流后,每个起点的入度都是0,所以$ans=n-maxflow$。 注意由于是拆点,所以各种数组都要开 阅读全文
posted @ 2019-04-08 15:28 光芒万丈小太阳 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 思路:按字典序,小的字符优先选取。对于一个字符,如果以这个字符开头的子串大于等于k个,那说明这个字符是应该选的,并且选完之后,可能还要继续选。如果以这个字符开头的子串小于k个,说明这个字符不能选,因为选完这个字符,后面无论怎么构造子串,都构造不出第k大的子串。 所以关键点就在于我们要统计 阅读全文
posted @ 2019-04-07 21:34 光芒万丈小太阳 阅读(1050) 评论(1) 推荐(0) 编辑
摘要: 题目传送门 题意:给出一个母串,再给出n个串,问对于每个串,母串中有几个子串是可以通过循环变化得到这个串。 思路:对母串建SAM,求出$right$集。 把匹配串复制一遍,和母串进行匹配,当匹配长度大于等于$siz$时,将当时的$p$跳到最远的$len$还大于$siz$的父串(不停的往父亲跳),答案 阅读全文
posted @ 2019-04-07 19:09 光芒万丈小太阳 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题意: 给出若干个串,求所有子串的和,子串和的定义为十进制数,取模1e9+7. 思路: 对于一个串来说,一个状态p就代表着$right$相同的集合,假设我们已经知道了状态p的$sum$,以及状态p的$size$,假设p的下一位有一个c,p+c的状态为q,那么$sum[q]+=sum[p] 阅读全文
posted @ 2019-04-07 16:38 光芒万丈小太阳 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题目大意:求长度为k的串的最大次数,把k从1到length的所有答案全部输出。 思路: 这道题放在$SAM$里就是求长度$k$对应的所有$right$集中最大的大小。 我们以$aabab$这个串距离,称作$S$串。 首先我们要求出每一个状态对应的right集大小,S中的aab和ab此时并 阅读全文
posted @ 2019-04-07 13:21 光芒万丈小太阳 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题意:给出一个字符串,求子串的个数。 思路:后缀自动机的题真是每做一题就更理解一些。 SAM中的每一状态$p$都代表了一种子串,而p包含的字符串的个数是$len[p]-len[fa[p]]$,所以答案就是$sigma len[i]-len[fa[i]]$,还有答案要开long long。 阅读全文
posted @ 2019-04-06 22:14 光芒万丈小太阳 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题目大意:还是求字符串的最长公共子串,只不过这次是n个串。 思路: 先把第一个串丢到SAM里面去,然后每一个串都和前面那个串做一次最长公共子串的匹配。我们现在把SAM里面的其中一个状态记做$p$,这个$p$其实就代表了$right$集合相同的所有子串,我们要记录每一个状态下的最大匹配长度 阅读全文
posted @ 2019-04-06 20:36 光芒万丈小太阳 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 题意:给出两个$n=250000$的字符串,求最长公共子串。 思路:把第一个字符串放到SAM里面去。 对于第二个串,能匹配则匹配,不能匹配就跳回能匹配的位置,如果一个都不能匹配,则cur要重新初始化为root。 对后缀自动机的理解还比较模糊,怕误人子弟,此题就不做详述。 阅读全文
posted @ 2019-04-06 13:33 光芒万丈小太阳 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 思路: 由异或的性质可得,题目要求的式子可以转化成求$max(pre[n]^x^pre[i])$,$pre[i]$表示前缀异或和,那么我们现在就要求出这个东西,所以用可持久化字典树来求,每次贪心的往相反的方向看是否有值,具体看代码即可,模板题,注意最好先插入一个0,查询区间的$(l,r) 阅读全文
posted @ 2019-03-21 18:43 光芒万丈小太阳 阅读(134) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页