曾写过迭代加深搜索的方法,现在使用在AC自动上跑最短路的方法 dp[i][j]表示状态为到节点i,模式串是否包含的状态为j的最短串的长度,则状态转移方程为: dp[nx][ny] = min(dp[x][y] + 1) , 其中nx为x后继结点,ny为从y转移过来的新状态,更新时加入队列 ...
分类:
其他好文 时间:
2016-08-28 20:45:26
阅读次数:
137
一、题目背景 http://codevs.cn/problem/1288/ 给出一个真分数,求用最少的1/a形式的分数表示出这个真分数,在数量相同的情况下保证最小的分数最大,且每个分数不同。 如 19/45=1/3 + 1/12 + 1/180 二、迭代加深搜索 迭代加深搜索可以看做带深度限制的DF ...
分类:
编程语言 时间:
2016-08-08 19:28:05
阅读次数:
212
DNA sequence Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1914 Accepted Submission(s): 946 Pr ...
分类:
其他好文 时间:
2016-07-19 15:34:02
阅读次数:
268
DNA sequence Font: Times New Roman | Verdana | Georgia Font Size: ← → Problem Description The twenty-first century is a biology-technology developing ...
分类:
其他好文 时间:
2016-07-16 00:15:47
阅读次数:
204
深度优先搜索不可以解决深度未知的题,例如埃及分数(vijos 1308) 如果用广度优先搜索的话,内存开销也会很大,很可能就会Memory Limit Exceeded。这样通常就会用迭代加深来处理 迭代加深相当于是广搜和深搜的结合,它是限定下界的深搜,首先搜索 第K层,若无目标解,则搜索第(K+1 ...
分类:
其他好文 时间:
2016-07-10 18:09:28
阅读次数:
122
埃及分数题意非常明白,这里就不解释了…… 但是关于最优解的问题,题目并没有说明 原题: 对于一个分数a/b,表示方法有很多种,但是哪种最好呢? 首先,加数少的比加数多的好,其次,加数个数相同的,最小的分数越大越好。 然而这并没有考虑一种很恶心的情况:加数一样多,而且最后一个分数一样的时候,哪种情况最 ...
分类:
其他好文 时间:
2016-07-05 10:06:37
阅读次数:
202
codevs 2541 幂运算 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond codevs 2541 幂运算 codevs 2541 幂运算 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 时间限制: 1 s 空间限制 ...
分类:
其他好文 时间:
2016-06-10 19:05:26
阅读次数:
185
SCU - 4499
已有 x,求利用除法和乘法算出 x^n的最小步数
IDA* 迭代加深地去搜
如果能在step步得出解,那么大于这个步数的也一定有解
所以从小到大枚举步数,然后暴力去搜
由于限定步数,就可以加一个 A*的估价剪枝
当前最值反复平方也不能在限定步数得出解的时候,则不往下搜
由于N只有1000,而 2^10 > 1000,所以最终步数其实不会很大#pragma comm...
分类:
其他好文 时间:
2016-05-12 15:53:40
阅读次数:
169