题目大意
给定DNA序列长度m和一个DNA(每单位DNA有AGCT 4种可能)片段,求所有和所给序列最长公共子串长度为0~len的DNA数量
解题思路
在开题的时候以为是数论+组合数学,思路越想越偏……
后来CLJ给出超简要的题解……
听别人的一种按位压缩的思路,就是枚举到该位置之时LCS所对应的位置,若一一对应则该位为1,否则为0
而当我们要处理新的单位DNA时就有一个变换LCS对应的会改变。
则我们枚举所有可能的匹配位置并枚举下一位,算出下一个状态对应的LCS所在位置,按位压缩。...
分类:
其他好文 时间:
2014-08-03 18:10:05
阅读次数:
224
HDU 4284 Travel有N个城市,M条边和H个这个人(PP)必须要去的城市,在每个城市里他都必须要“打工”,打工需要花费Di,可以挣到Ci,每条边有一个花费,现在求PP可不可以从起点1走完所有的他必须要去的城市,打完所有的工,并且成功回到起点1由于H 3 #include 4 #inc...
分类:
其他好文 时间:
2014-08-03 15:07:05
阅读次数:
243
HDU 4539郑厂长系列故事――排兵布阵基础的状压DP,首先记录先每一行可取的所哟状态(一行里互不冲突的大概160个状态),直接套了一个4重循环居然没超时我就呵呵了 1 //#pragma comment(linker,"/STACK:102400000,102400000") 2 #incl.....
分类:
其他好文 时间:
2014-08-03 15:02:25
阅读次数:
270
HDU 3920 Clear All of Them I题目是说有2n个敌人,现在可以发n枚炮弹,每枚炮弹可以(可以且仅可以)打两个敌人,每一枚炮弹的花费等于它所行进的距离,现在要消灭所有的敌人,问最少花费是多少(反正题意大概就是这样啦,知道怎么回事就好了,解释不清了)一看到n 3 #includ....
分类:
其他好文 时间:
2014-08-03 15:00:15
阅读次数:
301
给一个n个数的数列,从中取一些数构成新数列,
如果新数列中有一些数的和是k,那么这就是一个好数列,问这样的数列的个数。
从1~n位枚举其取值从1~min(l,k),来更新可达状态。
dp[i]中i的二进制每一位表示和(1~k),1表示可以取到,0表示取不到。
#include
#include
#include
#include
#include
#i...
分类:
移动开发 时间:
2014-08-03 12:49:35
阅读次数:
155
题目大意:
需要你构造一个b数组。使得b数组中的所有元素互质。
而且使得b数组与a数组中的每个对应下标元素的差值和最小。
思路分析:
考虑到 a中所有元素都是 0 - 30.
所以b中的元素也只可能在 0 - 59.
因为如果b 选择60的话,结果和1是一样的,而且b序列中 1 可以重复出现很多次。
因为gcd (1,x) = 1。。
所以们首先把2 - 59中的所有素数处...
分类:
其他好文 时间:
2014-08-03 10:19:05
阅读次数:
336
题目链接:Codeforces 453B Little Pony and Harmony Chest
题目大意:给定一个序列a, 求一序列b,要求∑|ai?bi|最小。并且b中任意两数的最大公约束为1.
解题思路:因为b中不可能含有相同的因子,所以每个素数只能使用1次。又因为说ai最大为30,所以素数只需要考虑到57即可。因为即使对于30而言,59和1的代价是一样的。
所以有dp[i...
分类:
其他好文 时间:
2014-08-02 23:28:44
阅读次数:
312
题目范围给的很小,所以有状压的方向。我们是构造出一个数列,且数列中每两个数的最大公约数为1;给的A[I]#include#include#include#define inf 0x3f3f3f3fusing namespace std;int cnt=0;int c[123],a[123];int ...
分类:
其他好文 时间:
2014-08-02 20:53:04
阅读次数:
206
题目链接:点击打开链接
b的数字最多只能达到59,因为选>=60 不如选1
所以状压一下前面出现过的素数即可,在59内的素数很少
然后暴力转移。。
#include
#include
#include
#include
#include
const int Inf = (int)(1e9);
const int S = 1 << 17;
const int N = 100 + 2...
分类:
其他好文 时间:
2014-08-02 18:20:53
阅读次数:
225
给n个整数ai,求一个序列bi,使得b序列中任意两个数互质,而且sigma(abs(ai - bi))最小,输出任意一个b序列即可
(1?≤?n?≤?100) (1?≤?ai?≤?30)...
分类:
其他好文 时间:
2014-08-02 12:56:33
阅读次数:
239