摘要: 题意是求一个字符串每个长度的子串出现次数最多的那个出现了多少次,也就是求每个到根的最长路的right集合最大值 。 先建后缀自动机,然后将每个前缀所在的集合的初值设为1,因为所有前缀的right集合肯定不相同,而且它们包含了所有位置。 接下来按到根的最长距离从大到小排序,将right集合累加到par 阅读全文
posted @ 2018-01-19 17:48 echo6342 阅读(157) 评论(0) 推荐(0) 编辑
摘要: Time Limit: 20 Sec Memory Limit: 162 MB Submit: 931 Solved: 509 [Submit][Status][Discuss] Description Z国坐落于遥远而又神奇的东方半岛上,在小Z的统治时代公路成为这里主要的交通手段。Z国共有n座城市 阅读全文
posted @ 2018-01-19 17:18 echo6342 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在一个有 m*n 个方格的棋盘中,每个方格中有一个正整数。现要从方格中取数,使任意 2 个数所在方格没有公共边,且取出的数的总和最大。试设计一个满足要求的取数算法。对于给定的方格棋盘,按照取数要求编程找出总和最大的数。 输入输出格式 输入格式: 第 1 行有 2 个正整数 m 和 n,分别 阅读全文
posted @ 2018-01-19 16:16 echo6342 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 三倍经验题! ********************题目略长********************** 题目描述 一个餐厅在相继的N天里,第i天需要ri块餐巾(i=l,2,…,N)。餐厅可以从三种途径获得餐巾。 (1)购买新的餐巾,每块需p分; (2)把用过的餐巾送到快洗部,洗一块需m天,费用需 阅读全文
posted @ 2018-01-19 16:05 echo6342 阅读(311) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-01-19 15:48 echo6342 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 最小费用最大流肯定要保证最大流,所以它和最大流有一些类似的性质。如果把费用看成边,就可以每次走最短路(保证费用最小),走到不能走为止(保证最大流)。费用流版的ek就是这样。需要注意的是,反向弧的边权为它对应的正向弧的费用的相反数,所以最短路要用spfa来求。 费用流版的dinic,又叫zkw费用流, 阅读全文
posted @ 2018-01-19 15:34 echo6342 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 网络流问题可以看成是从一个单位时间流量超级大的水龙头经过一些粗细不一的水管流向下水道的问题,一般情况下是要求合理分配流量,使得单位时间内流向下水道的水量最大。 现在,水龙头开闸放水,假设自己是一个水分子。那么会怎么走呢?当然是找出一条能走到下水道的并且没有被流满的路,然后沿着这条路走到下水道就行了。 阅读全文
posted @ 2018-01-19 15:25 echo6342 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目略长,就从大视野上复制了。 听上去好像费用流,然而…… ***************************表示略长的题目的分界线************************ 1495: [NOI2006]网络收费 Description 网络已经成为当今世界不可或缺的一部分。每天都有数以 阅读全文
posted @ 2018-01-19 15:07 echo6342 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 题意是求多个串的lcs。 这也是道后缀自动机的模板题。对于任意一个字符串建后缀自动机,用其他串查询就行。对于后缀自动机的每个状态要额外记匹配到当前状态的最大长度。 和spoj1811的区别在于这道题不方便后缀数组做。当然,如果不嫌很多个串用奇怪的字符连起来麻烦、判断时常数极大的话,也可以试试。 字符 阅读全文
posted @ 2018-01-19 14:38 echo6342 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题意是求两个字符串的lcs,两个串都只包含小写字母。 本题既可以用后缀自动机,又可以用后缀数组。 对于后缀自动机,就是一道模板题,直接对于一个字符串建后缀自动机再用另一个串查询就行。 对于后缀数组,其实也是一道模板题,但不是后缀数组的模板,而是用后缀数组求同一字符串的两个后缀的最长公共前缀的模板。 阅读全文
posted @ 2018-01-19 14:34 echo6342 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 后缀自动机是个好东西,代码短还很快。 这是因为根到一个节点的不同路径表示所有有某种相同性质的不同字符串。 假设对于字符串S建后缀自动机,以下名词的意思是: right(S的子串s):s在S中出现的位置的右端点的集合; 状态:有同样right集合的子串,某状态的right集合是指该状态的所有字符串的r 阅读全文
posted @ 2018-01-19 11:25 echo6342 阅读(1199) 评论(2) 推荐(1) 编辑
摘要: 后缀数组sa(x)表示排序后第x位在排序前的位置。 这个东西的求法有两种,一种是倍增,时间复杂度o(n log n)或o(n log2n),另一种是用不知道什么方法做到的o(n)。 至于第二种方法是什么,并不对劲的人并不知道,所以只说倍增。 考虑正常地比较两个字符串,都是从头比较到尾: 那么,如果把 阅读全文
posted @ 2018-01-19 08:46 echo6342 阅读(194) 评论(0) 推荐(0) 编辑