06 2018 档案

摘要:这题很有意思,这题数据很强,会卡掉很多没考虑特殊情况的代码。 先缩点,然后根据拓扑序,依次更新每个点的路径数。f[i] 表示 i 到 N+1 号点的路径数量,则 f[x] = Σf[y] ,满足条件:有一条边从 x 到 y 。f[N+1] = 1. 可以存个反图,然后在拓扑序上从前往后讨论,更新 f 阅读全文
posted @ 2018-06-18 15:42 derchg 阅读(403) 评论(0) 推荐(0)
摘要:A.饥饿的奶牛 想到线段覆盖问题的贪心解法,比如根据线段长度排序再选(据加藤惠实测能过 20% 数据),比如根据左端点为第一关键字,右端点为第二关键字排序再选……胡乱画图发现都不行。然后考虑 DP,f[i][j] 表示前 i 条线段选 j 条的最大收益,期望从 f[i-1][j-1] 和 f[i][ 阅读全文
posted @ 2018-06-14 18:45 derchg 阅读(135) 评论(0) 推荐(0)
摘要:先上一道裸题代码:给定若干个(<=10)由小写字母组成的字符串(每个字符串长度不超过10^5),求他们的最长公共子串的长度。 用的是在每个字符串中间加间隔符,把它们合成一个字符串,最后 DFS + 标记 找答案的方法。 其实现在也不太会 SAM OrzOrzOrz,好像给自己埋了一个坑, SAM 相 阅读全文
posted @ 2018-06-11 16:33 derchg 阅读(392) 评论(0) 推荐(0)