题意:
给出一n种字符的字典,有k个禁用的单词,问能组成多少个不同的长度为m的合法字符串。
分析:
构建出AC自动机后在里面走m步有不经过单词结点有多少种方案,用dp[i][j]表示走了i步到第j个结点的方案数,根据计数原理可得状态转移方程:dp[i][j]=sum(dp[i][last_j]),其中last_j表示能走到j结点的前趋们,j不为单词结点。要注意此题要用到高精度,而且要用unsigned char存储。...
分类:
其他好文 时间:
2014-11-20 17:09:52
阅读次数:
228
http://zju.acmclub.com/index.php?app=problem_title&id=1&problem_id=1911
最长单减子序列、最长单增子序列、相继元素之间满足某种条件(例如绝对值之差不超过d)的最长子序列等,都是一个类型的动态规划。
下面给出一个n平方级别的基本算法。
思路:定义dp[i]代表A[i:n]中,以A[i]为开头的最长单增序列的长度。
从A...
分类:
其他好文 时间:
2014-11-20 13:42:51
阅读次数:
160
题目大意:
去买可乐,一瓶可乐8元。有1元、5元和10元三种货币,初始分别拥有数量给定。自动售货机会用最少的硬币数量找零。找零的钱可以继续使用。问最少向售货机中投入多少枚硬币,能买到C瓶可乐。
解题思路:
货币数量较少,状态不多。只有付10*1找1*2(投入1枚)、付5*1+1*3找0(投入4枚)、付10*1+1*3找5*1(投入4枚)、付1*8找0(投入8枚)这四种情况,可以想到其他的方法,投入的硬币数量肯定更多,所以不用考虑。
动态规划。只需记录三种面值的数量所为状态即可。用dp[n1][n5][n1...
分类:
其他好文 时间:
2014-11-20 12:10:12
阅读次数:
217
题意:
给出m个模式串,要求构造一长度为n的文本串,至少包括k种模式串,求有多少种可能的模式串。
分析:
m个模式串构建AC自动机,然后要在这AC自动机中走n步,至少经过k个单词结点。因为m<=10,显然可以用状压表示已经有哪几个单词结点。用dp[i][j][k]表示走了i步到AC自动机中的第j个结点,单词状态为k,由计数原理可推出状态转移方程:dp[i][j][k]=sum(dp[i-1][last_j][last_k]),last_j表示可以抵达第j个结点的上一个结点,last_k表示上一步的状态;因为...
分类:
其他好文 时间:
2014-11-20 12:01:10
阅读次数:
242
题目:给你一个只有加法和乘法的计算式,可以改变计算的优先级,求式子的最大值和最小值。
分析:dp,区间动态规划。矩阵想成类似物。
状态:f(s,e)为区间[s, e]上计算式最大值,t(s,e)为区间[s, e]上计算式最小值;
方程:f(s,e)= max(f(s,k)+ f(k+1,e)) { s ≤ k ≤ e };
...
分类:
其他好文 时间:
2014-11-19 16:06:44
阅读次数:
139
飞翔
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述
鹰最骄傲的就是翱翔,但是鹰们互相都很嫉妒别的鹰比自己飞的快,更嫉妒其他的鹰比自己飞行的有技巧。于是,他们决定举办一场比赛,比赛的地方将在一个迷宫之中。
这些鹰的起始点被设在一个N*M矩阵的左下角map[1,1]的左下角。终点被设定在矩阵的右上角map[N,M]的右上角,有些map[i,j]是可以从...
分类:
其他好文 时间:
2014-11-19 15:59:08
阅读次数:
141
3.动态规划【正解】有N件物品和一个容量为V的背包。第i件物品的体积是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。状态转移方程:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]} 这个方程非常重要,基本上所有跟背包相关的问题的方程都是由它衍生出...
分类:
其他好文 时间:
2014-11-19 15:27:04
阅读次数:
227
题目大意:给出一个矩阵,求在这个矩阵中取出k个不重叠的矩阵的最大和。
思路:怎么做?
这个问题困扰我好几天的时间,终于再一次读题:
。。。
。。
。。。
2??!!
这尼玛逗我??直接说最多两列不好么?还用矩阵吓唬我?
好吧下次我一定认真看题。。
我的做法比较渣,算出来的时间复杂度是O(m^3*k),但是只有最多3000w,还是可以过的。
状态:f[i][j][...
分类:
其他好文 时间:
2014-11-19 14:12:05
阅读次数:
192
作业题
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
小白同学这学期有一门课程叫做《数值计算方法》,这是一门有效使用数字计算机求数学问题近似解的方法与过程,以及由相关理论构成的学科……
今天他们的Teacher S,给他们出了一道作业题。Teacher S给了他们很多的点,让他们利用拉格朗日插值公式,计算出某严格单调函数的曲线。...
分类:
其他好文 时间:
2014-11-19 01:47:16
阅读次数:
243
题目大意:给定一个单词表和m个字符串 问每个字符串的最长的前缀,满足这个前缀可以拆分成一些字符串 使这些字符串都在单词表中出现过
再也不敢看错数据范围了……一道明明用Trie树能解决的问题居然被我写了AC自动机……
将单词表中的单词全都插入AC自动机 每个单词所在的节点记录这个单词的长度
然后对于每个字符串 用f[i]表示长度为i的前缀是否能拆分成单词表中的单词 跑AC自动机
对于每个匹配...
分类:
编程语言 时间:
2014-11-19 01:30:12
阅读次数:
182