hihocoder部分题解

hihocoder1609 数组分拆II [dp]

给定数组,问有多少种拆法,使得每一段不出现重复的数字,且要保证分组数最少。(1e5)

题解:

O(n)

d[i]表示1~i最小划分的段数, f[i]表示1~i在最小划分段数下,划分的方案数

f[i] = sigma f[j], (d[i] = d[j]+1 && j+1 ~ i没有重复数字)

 

hihocoder1644 完美命名的烦恼 [AC自动机,bfs]

给定n个长度为L的字符串,找到一个长度最短的字符串使得n个字符串都是其子串。求最短长度。

题解:

O(26nL)

AC自动机上bfs,队列里的节点表示当前在AC自动机上的i节点,已经有多少字符串是我的子串。 

posted @ 2019-02-26 13:43  我在地狱  阅读(200)  评论(0编辑  收藏  举报