随笔分类 - 数据结构
摘要:Merkle Tree概念 Merkle Tree,通常也被称作Hash Tree,顾名思义,就是存储hash值的一棵树。Merkle树的叶子是数据块(例如,文件或者文件的集合)的hash值。非叶节点是其对应子节点串联字符串的hash。[1] 1、Hash Hash是一个把任意长度的数据映射成固定长
阅读全文
摘要:题目:http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2165&cid=1431 快速幂。
阅读全文
摘要:题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2169
阅读全文
摘要:概率DP主要用于求解期望、概率等题目。 转移方程有时候比较灵活。 一般求概率是正推,求期望是逆推。通过题目可以体会到这点。 poj2096:Collecting Bugs sdut2626题目: The number of steps HDU4405: 题目大意: 跳棋有0~n个格子,每个格子X可以
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1838 这题也挺不错的。首先题目说了,棋盘的右下角一定是'1',另外棋盘里面至少包含一个1,所以最小值是1,然后初始化,刚开始想错了,以为只tu[1][j]=='1'||tu[j][1]=='1'时, dp[
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=4223 求连续子序列和的最小绝对值,水题。
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1712 解释看这里:http://www.cnblogs.com/zhangmingcheng/p/3940332.html 这题之前竟然做过,竟然不记得了,做了一个小时,竟然没A,(我连分组背包干什么的都忘
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1506 刚开始没考虑时间复杂度,直接敲了,直接tle了,之后没有思路,然后看题解,看见大神写的优化非常棒。 大神的解释:(其实对于w[i]来说,如果去求后面连续的值,完全没必要一个个去比对,直接看w[i-1]
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1165 果断不擅长找规律啊,做这种题静不下心来。 Ackermann function can be defined recursively as follows: 递推如上图, 0<m<=3,0<=n<=1
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1158 这题又是看了题解,题意是一项工作需要n个月完成,雇佣一个人需要m1的钱,一个人的月工资为sa,辞退一个人需要花费m2的钱,然后给出n的数字, 代表每月需要的最少员工,问如何进行人员调整使最终花费的钱最
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1081 自己真够垃圾的,明明做过一维的这种题,但遇到二维的这种题目,竟然不会了,我也是服了(ps:猪啊)。 最终还是看了题解。 代码如下: 大神的题解: 这一题就是将一维的最大字段和扩展到二维,在一维的求最大
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1069 这题挺简单的,给定一个箱子的长宽高,要求啰箱子,但必须保证下面箱子的长和宽必须大于上面的箱子。 一个箱子,有六种情况,排序后,按照最长上升子序列来求解就行了。 代码如下:
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=2571 没什么好说的,不过要处理好边界。 代码如下:
阅读全文
摘要:题目:http://poj.org/problem?id=1276 多重背包模板题,没什么好说的,但是必须利用二进制的思想来求,否则会超时,二进制的思想在之前的博客了有介绍,在这里就不多说了。
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1421 又是一道,没有思想的题,看了题解,我发现我的dp题几乎都看了题解,我总是想不好状态转移方程,汗颜,以后怎么比赛啊。 先排序,然后说一个数学问题。 首先,要怎么搬呢?即每一对要怎么取?如果有abcd四个
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1087 水题,可是我却因为dp数组的初始化造成了多遍wa,这题就是求上升序列的最大和。 转移方程: 首先要对dp初始化。 if(w[i]>w[j]) dp[i]=dp[j]+w[i];i>j
阅读全文
摘要:题目: http://acm.hdu.edu.cn/showproblem.php?pid=1160 学的东西还是不深入啊,明明会最长上升子序列,可是还是没有A出这题,反而做的一点思路没有,题意就不多说了,真是怀疑了为什么做这题的时候竟然想用nlog(n)的那个算法, 根本不可能有解啊,真想抽自己一
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1176 这题就是数字三角行的变形,可惜对于我这个渣渣来说就是没发现,区别是他可以保持在三个点,他左边的点,右边的点,还有原点, 从下往上处理。其他就没有什么好说的了,注意一下细节问题,我记得这题我白白贡献了几
阅读全文
摘要:题目: http://acm.hdu.edu.cn/showproblem.php?pid=1003 题意一目了然就不说了,算法是从左往右扫,一个暂时保存结果的值,如果区间结果<0,那么就更改左右区间的值,如果当前计算的值>暂存的最大值,则更改最大值,与其说这题是dp,不如说就是贪心。
阅读全文
摘要:题目: http://poj.org/problem?id=1664 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 Input 第一行是测试数据的数目t(0 <= t <= 20)。以下
阅读全文