题面 "传送门" 思路 首先,有一个非常显然的思路就是dp: 设$dp[i][j]$表示前i个字符,最后一个为j 然后发现这个东西有后效性 改!设$dp[i][j]$代表前i个字符,最后15个的状态为j(压缩一下),转移的是候枚举增加那个字符,然后看从谁可以推过来 然后就TLE了,完全无压力 怎么优 ...
分类:
其他好文 时间:
2018-04-22 14:47:46
阅读次数:
152
第一次写这类题...懵 首先考虑朴素的DP,设$f(i, s)$表示前$i$个字符,字符串为$s$的方案数,则有$f(i, s)=\sum_{j=A}^{Z} f(i-1, s-j)$,且任意一个给定串都不存在$s$中。 我们知道在一个字符串里找其他的字符串是AC自动机的强项,那么我们就可以考虑在A ...
分类:
Web程序 时间:
2018-02-14 15:59:25
阅读次数:
197
Censored! Time Limit: 5000MS Memory Limit: 10000K Total Submissions: 10824 Accepted: 2966 Description The alphabet of Freeland consists of exactly N l ...
分类:
其他好文 时间:
2018-02-04 13:52:52
阅读次数:
163
"原题" cpp include include define p 10007 define N 6010 using namespace std; int n,m,sze=1,ans1,ans2=1,a[N][27],fail[N],q[N],f[110][N]; char s[110]; boo ...
分类:
其他好文 时间:
2018-01-08 12:18:06
阅读次数:
172
题目链接:hdu 4511 小明系列故事——女友的考验 题意: 中文不解释。 题解: 考虑将那些限制的条件插进AC自动机里面,然后在AC自动机上dp一下最短路就行了。 考虑dp[i][j]表示当前在第i个点上,在AC自动机的第j个点上的最短路。 然后dp转移看代码。 1 #include<bits/ ...
分类:
其他好文 时间:
2017-10-16 21:51:58
阅读次数:
180
Passwords Gym - 101174E ac自动机 + DP 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int sigma = 26; 4 const int maxnode = 1010; 5 const int m ...
分类:
其他好文 时间:
2017-10-12 19:05:17
阅读次数:
149
题意 : 给出 n 个模式串,最后给出一个主串,问你主串打乱重组的情况下,最多能够包含多少个模式串。 分析 : 如果你做过类似 Trie图 || AC自动机 + DP 类似的题目的话,那么这道题相对之前的对于主串的“构造”过程加上了一个限制,那就是字符的元素的有限制的,那么DP的状态就不能用长度来表 ...
分类:
其他好文 时间:
2017-10-12 01:02:24
阅读次数:
207
题意:给定一些串,然后让你构造出一个长度为 m 的串,并且不包含以上串,问你有多少个。 析:很明显,如果 m 小的话 ,直接可以用DP来解决,但是 m 太大了,我们可以认为是在AC自动机图中,根据离散中的矩阵的幂可以表示 从 i 到 j 需要 x 步的有多少条。比如A[1][2]^5 = 10,表示 ...
分类:
其他好文 时间:
2017-10-07 02:27:43
阅读次数:
275
题意:给出一个n个模式串,一个目标串,问把目标串重新排位最多能产生多少个模式串,可以重叠且所有串只包含A C G T。 n<=10,len[i]<=10 len(s)<=40 Cas<=30 思路:TLE,估计被卡常了 可以将题意理解为重新构造一个ACGT个数都与原目标串相同的新串,则目标串中有用的 ...
分类:
其他好文 时间:
2017-10-06 20:07:20
阅读次数:
181