摘要: 本文转自:zeroclock的博客 区间DP是一类在区间上进行动态规划的最优问题,一般是根据问题设出一个表示状态的dp,可以是二维的也可以是三维的,一般情况下为二维。然后将问题划分成两个子问题,也就是一段区间分成左右两个区间,然后将左右两个区间合并到整个区间,或者说局部最优解合并为全局最优解,然后得 阅读全文
posted @ 2017-04-06 10:49 miaoheping 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 1 ///*O(min(n,m)*min(n,m)*l) 2 import java.math.BigInteger; 3 import java.util.Scanner; 4 5 public class Zoj3380 { 6 7 static BigInteger[][] C = new B 阅读全文
posted @ 2017-04-06 10:40 miaoheping 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 本文转自:ZeroClock博客 树,一种十分优美的数据结构,因为它本身就具有的递归性,所以它和子树见能相互传递很多信息,还因为它作为被限制的图在上面可进行的操作更多,所以各种用于不同地方的树都出现了,二叉树、三叉树、静态搜索树、AVL树,线段树、SPLAY树,后缀树等等.. 枚举那么多种数据结构只 阅读全文
posted @ 2017-04-06 10:00 miaoheping 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 本文转自:zeroclock的博客 这短时间看了论文《背包九讲》,看到背包问题解法中的优美之处也看到背包问题在现实中的应用,总结出一句话:背包问题值得一看。 背包问题可以概括为这样的模型:有若干种选择,每种选择有一定的代价和价值,做某些选择会得到特定的状态,问我们在约定的条件下怎么得到特定的状态?这 阅读全文
posted @ 2017-04-06 09:54 miaoheping 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 本文转自: http://hawstein.com/posts/dp-novice-to-advanced.html 前言 本文翻译自TopCoder上的一篇文章: Dynamic Programming: From novice to advanced ,并非严格逐字逐句翻译,其中加入了自己的一些 阅读全文
posted @ 2017-04-06 09:17 miaoheping 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 本文转自:http://www.hawstein.com/posts/binary-indexed-trees.html 前言 本文翻译自TopCoder上的一篇文章: Binary Indexed Trees ,并非严格逐字逐句翻译,其中加入了自己的一些理解。水平有限,还望指摘。 目录 简介 我们 阅读全文
posted @ 2017-04-06 09:14 miaoheping 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 本文转自:http://hawstein.com/posts/dp-knapsack.html 一切都要从一则故事说起。 话说有一哥们去森林里玩发现了一堆宝石,他数了数,一共有n个。 但他身上能装宝石的就只有一个背包,背包的容量为C。这哥们把n个宝石排成一排并编上号: 0,1,2,…,n-1。第i个 阅读全文
posted @ 2017-04-06 08:45 miaoheping 阅读(840) 评论(0) 推荐(0) 编辑