摘要: 题目链接In a strange shop there arentypes of coins of valueA1, A2... An.C1, C2, ... Cndenote the number of coins of valueA1, A2... Anrespectively. You have to find the number of ways you can makeKusing the coins.For example, suppose there are three coins 1, 2, 5 and we can use coin 1 at most 3 times, co 阅读全文
posted @ 2013-04-22 19:15 xindoo 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目链接The people of Mohammadpur have decided to paint each of their houses red, green, or blue. They've also decided that no two neighboring houses will be painted the same color. The neighbors of housei are houses i-1 and i+1. The first and last houses are not neighbors.You will be given the info 阅读全文
posted @ 2013-04-22 08:27 xindoo 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 题目链接题目描述很简单 有n和DNA序列,求出他们中公共前缀长度和有相同公共前缀DNA序列乘积的最大值。If we take the subset {ACGT} then the result is 4 (4 * 1), if we take {ACGT, ACGTGCGT, ACGCCGT} then the result is 3 * 3 = 9 (since ACG is the common prefix), if we take {ACGT, ACGTGCGT, ACCGTGC, ACGCCGT} then the result is 2 * 4 = 8. 这个就是英文的描述,很简. 阅读全文
posted @ 2013-04-20 09:55 xindoo 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题目链接A.Snow FootprintsA - Snow FootprintsThe starting position can be anywhere with a footprint. The footprints can be categorized into 3 types.onlyLsonlyRsRs followed byLsIn case 1, we end in the left of all footprints. In case 2, we end in the right of all footprints. In case 3, we either end in th 阅读全文
posted @ 2013-04-19 22:20 xindoo 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 其实根本就谈不上详解,应该说只是随便谈谈,真正能详解动态规划的又有几个人,所以,这个标题略显扯淡。 前段时间一直在做关于数据结构的题,也算是对数据结构有了一定的了解,知道了有些数据结构的基本算法。现在刚刚开始接触动态规划,其实写这篇文章的初衷是一来锻炼一下自己的总结能力,二来也是希望通过这篇文章,来指引和我一样的初学者,废话不多说了,开始吧。一、01背包 我最开始接触的有关动态规划的是01背包,这应该也是动态规划入门最好的了吧。 01背包是很简单的问题,当然也不乏一些变种让你绞尽脑汁也想不到,这里我们不讨论那些,我只说最简单的。 假设有n种物品,每种都只有一个,第i种物品的体... 阅读全文
posted @ 2013-04-19 22:19 xindoo 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 1015 Jury Compromise1029 False coin1036 Gangsters1037 A decorative fence1038 Bugs Integrated, Inc.1042 Gone Fishing1050 To the Max 解题报告1062 昂贵的聘礼1074 Parallel Expectations1080 Human Gene Functions1088 滑雪解题报告1093 Formatting Text1112 Team Them Up!1141 Bracket... 阅读全文
posted @ 2013-04-19 09:45 xindoo 阅读(148) 评论(0) 推荐(0) 编辑
摘要: poj 1088 记忆化搜索也也是采用递归深搜的对数据进行搜索,但不同于直接深搜的方式,记忆化搜索是在每次搜索时将得到的结果保存下来,避免了重复计算,这就是所谓的记忆化。记忆化应该是属于动态规划。 举个例子,比如我们搜索最长最长连续增子序列, 1 2 3 4 5 6 7, 当然这个例子比较特殊,但足以说明情况。 对于这种问题,我们可以先搜索以1开始的,定义一个函数dfs(1), 然后在dfs(1)中将第二个与一个数比较,如果大的话返回1+dfs(2)。。。。依次递归, 然后我们搜索分别以1 2 …………开头的子序列,当我们dfs(3)时,实际上我们在dfs(2)和dfs(1)的时候... 阅读全文
posted @ 2013-04-18 14:01 xindoo 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 先放一张图片对4 5 2 8 7 6 1 3 分别建划分树和归并树划分树如下图红色的点是此节点中被划分到左子树的点。 我们一般用一个结构体数组来保存每个节点,和线段树不同的是,线段树每个节点值保存一段的起始位置和结束位置,而在划分树和递归树中,每个节点的每个元素都是要保存的。为了直观些,我们可以定义一个结构体数组,一个结构体中保存的是一层的元素和到某个节点进入左子树的元素的个数,不同于线段树,我们不能保存一个节点的起始结尾位置,因为随层数的增加,虽然每个结构体保存的元素数目是一定的,但随层数的增加,元素早已被划分到不同的子树中了,而且这数目是指数增加的。 那我们如何确定一个子树的边界?... 阅读全文
posted @ 2013-04-16 21:24 xindoo 阅读(529) 评论(0) 推荐(0) 编辑
摘要: 题意: 有n个数,有m组操作,1 i表示将第i个数先输出,然后置0, 2 i v 表示给第i个数加上v, 3 i j 表示求i 到 j 的和,注意,这里数组是从0开始的,而我们构造的树状数组是从1开始的,使用在程序中要进行一定的处理。//LA 1112 - Curious Robin Hood(树状数组)//2013-04-13-08.22#include #include const int maxn = 100010;int a[maxn], b[maxn];int n;int lowbit(int x){ return x&(-x);}void update(int x, int 阅读全文
posted @ 2013-04-13 00:23 xindoo 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目链接题意: 有一字符串只包含0和1,然后又m组操作,I L R是将从L到R的字符进行翻转操作0变为1、1变为0,Q x表示询问第x的字符。思路: 我们只需要计算对询问的字符进行了多少次翻转,如果是偶数次,该字符变,否则翻转。对于区间的更新,我们可以使用线段树,不过对于这个题,因为只是对点的查询,而且每个节点的初始值都相同,为0,因此我们可以直接使用树状数组。下面是一个很巧妙的做法,而且很容易理解。用了树状数组的区间更新 单点查找(一般为单点更新 区间查找)例如 区间(2,4)加1则Updata(2,1) Updata(4+1,-1)实现了更新(2,4)的值而不改变其他值求Sum时即可得.. 阅读全文
posted @ 2013-04-12 18:58 xindoo 阅读(185) 评论(0) 推荐(0) 编辑