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节点,已经有多少字符串是我的子串。