2012年3月12日

zoj 3190 / hdu 3247 Resource Archiver AC自动机+BFS+状态dp

摘要: 【题意】给出n个资源串,m个病毒串,要你用这n个资源串组成一个最小的串,使得不包含任何m个病毒串中的一串。 (2 <= n <= 10, 1 <= m <= 1000),所有串都是非空的01序列,且每个资源串长度不大于1000,病毒串总长小于50000。 所有资源串都不相同,且不包含包含任何病毒串。【思路】先对资源串和病毒串的集合建立AC自动机,然后在trie树上做BFS求出在安全图上每个资源串 到其他资源的最短路径,最后做一遍状态压缩dp即可。 状态:dp[i][j]表示以i结尾的状态为j的最短串 状态转移:dp[k][j|(1<<k)] = ... 阅读全文

posted @ 2012-03-12 19:22 孤星_bin 阅读(385) 评论(0) 推荐(0) 编辑

导航