题目大意:
给出的DNA序列有一个权值,请构造一个长度为I的DNA序列使得在这段DNA序列的权值最大。如果为负数就输出噼里啪啦。。。
思路分析:
构造序列就是在ac自动机上走,求最大要用到dp
dp[i][j][k] 表示现在构造到了长度 i 。此时的我们把当前字符放在j节点,并且满足了k状态。k是一个10位的2进制状态压缩。
注意这道题上有坑就是一个序列可能有多个权值。所以不能...
分类:
其他好文 时间:
2014-10-02 15:44:43
阅读次数:
173
题目大意:
破坏文本串,使之没有没有出现表情,破坏就是用空格替换。问最少需要破坏多少个字符。
思路分析:
初看跟Hdu 2457 没什么区别,其实Hdu2457是要求将字符替换成ACGT,而这个只需要替换成空格。
而空格是在表情串中不曾出现的,所以要破坏的时候就要遍历的指针赋为根节点,继续遍历。。
每一次变成根的时候ans就加一。
#include
#include ...
分类:
其他好文 时间:
2014-10-01 21:38:01
阅读次数:
182
题目大意:
修改文本串的上的字符,使之不出现上面出现的串。问最少修改多少个。
思路分析:
dp[i][j]表示现在 i 个字符改变成了字典树上的 j 节点。
然后顺着自动机一直转移方程。
注意合法与不合法。
#include
#include
#include
#include
#define inf 0x3f3f3f3f
using namespace std...
分类:
其他好文 时间:
2014-10-01 19:51:21
阅读次数:
159
题目大意:
给出一棵树,每个点有商店,每个商店都有一个价格,Yaoge每次从x走到y都可以在一个倒卖商品,从中得取利益,当然,买一顶要在卖之前。但是没次走过一条路,这条路上的所有商品都会增加一个v。
输出每次的最大利益。
思路分析:
很容易想到树链剖分,可是关键在于如何维护这样一个变量,使得每次都要让买的再卖的前面。
维护变量 ltr 和 rtl ,表示从左去右和从右去左。
剖...
分类:
其他好文 时间:
2014-10-01 18:01:37
阅读次数:
268
题目大意:
题目给出了定义的小于号,然后求出一个LIS。。。
思路分析:
这道题目的是一个严格递增的,和 Hdu 4742 类似。只不过Hdu的这道题是一个不递减的序列。
简单说一下Hdu 4742的做法。
首先我们可以想到的是一维的LIS,那么简单就是n。
然后二维的LIS,就是先排序一维,然后用求第二维的LIS。
现在问题扩展到三维。依然排序一维。
假设我们排序的是z。...
分类:
其他好文 时间:
2014-09-26 23:22:48
阅读次数:
258
题目大意:
要求将一个长串分解成最多k个子串,使得分开的n个串的字典序最大的那一个子串的字典序最小。
思路分析:
要最大的最小,不难想到二分的。
我们二分出原串中的第rk大子串就是目标串。
现在就是怎么判断这个串满足要求,也就是我们如何分其他部分,使之成为字典序最大的一个。
我们可以通过rk轻易的找到这是哪一个串,假设它处在sa[t]中。
那么可以知道 在 sa数组中t以前的...
分类:
其他好文 时间:
2014-09-25 18:43:27
阅读次数:
179
题目大意:1 l r x操作 讲 [l,r]上的节点涂成x颜色,而且每一个节点的值都加上 |y-x| y为涂之前的颜色2 l r 操作,求出[l,r]上的和。思路分析:假设一个区间为同样的颜色。那么我们才干够合并操作。所以我们之前找同样的区间就好。可是问题是怎样合并操作。那么我们定义一个val 表示...
分类:
其他好文 时间:
2014-09-25 14:18:49
阅读次数:
242
2道题目都差不多,就是问和相邻所有点都有相同数据相连的作为一个联通快,问有多少个连通块因为最近对搜索题目很是畏惧,总是需要看别人代码才能上手,就先拿这两道简单的dfs题目来练练手,顺便理一理dfs的思路,分析清楚dfs的退出递归的条件和什么时候进行递归调用是至关重要的,这两道题目不涉及回溯,对于需要...
分类:
其他好文 时间:
2014-09-25 04:11:48
阅读次数:
238
题目大意:
在一个1000*1000的二维平面上,每一个整点都有一个权值,权值大小是 the production in the grid points (x, y) is (x + A)(y + B) where A, B are two constant.
思路分析:
先离线处理出所有的询问,对于每一个询问都有一个极角,按照极角排序。
然后对于平面上每一个点,都依次的加入到B...
分类:
其他好文 时间:
2014-09-25 03:55:08
阅读次数:
247
题目大意:
给出一个文本编辑器,按照图示的操作进行删减和添加。
思路分析:
对于如何维护左边最大,就要记录每个区间的左边最大,还有这个节点的值,还有子区间的和。
注意看题目,题目的要求输出左边最大是不能为空集的,意味着如果全部都是负数,那么就输出最左边的负数就好。
那么就要解决初始化的问题。
再有一点问题就是会有很多个连续的L ,R操作。所以要判断边界。
#inclu...
分类:
其他好文 时间:
2014-09-24 17:08:17
阅读次数:
197