随笔分类 -  数据结构读书笔记

1
开始写的可能写的太浅显, 后面会有大规模的修正和补充
摘要:再度学习使用 Git 后, 已经沉浸其中无法自拔了。 另外, 在 Github 上漫游的时候发现了一个绝妙的项目, 以及这个书单。 经典编程书籍大全 100+ 经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职 阅读全文
posted @ 2017-02-13 15:32 草滩小恪 阅读(508) 评论(0) 推荐(0)
摘要:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=604&pid=1002Dylans loves sequenceAccepts: 249 Submissions: 806 Time Limit: 2000/1000 ... 阅读全文
posted @ 2015-08-19 10:15 草滩小恪 阅读(245) 评论(0) 推荐(0)
摘要:矩阵乘法是一种高效的算法可以把一些一维递推优化到log( n ),还可以求路径方案等,所以更是是一种应用性极强的算法。矩阵,是线性代数中的基本概念之一。一个m×n的矩阵就是m×n个数排成m行n列的一个数阵。由于它把许多数据紧凑的集中到了一起,所以有时候可以简便地表示一些复杂的模型。矩阵乘法看起来很奇... 阅读全文
posted @ 2015-06-18 23:31 草滩小恪 阅读(341) 评论(0) 推荐(0)
摘要:Description在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L... 阅读全文
posted @ 2015-06-18 22:39 草滩小恪 阅读(3475) 评论(0) 推荐(0)
摘要:给定一个物品集合s={1,2,3,…,n},物品i的重量是wi,其价值是vi,背包的容量为W,即最大载重量不超过W。在限定的总重量W内,我们如何选择物品,才能使得物品的总价值最大。如果物品不能被分割,即物品i要么整个地选取,要么不选取;不能将物品i装入背包多次,也不能只装入部分物品i,则该问题称为0... 阅读全文
posted @ 2015-06-18 17:18 草滩小恪 阅读(262) 评论(0) 推荐(0)
摘要:最大子段和是一个十分经典的问题。 给定由n个整数(包含负整数)组成的序列a1,a2,...,an,求该序列子段和的最大值。 当所有整数均为负值时定义其最大子段和为0。 例如,当(a1,a2, ……a7,a8)=(1,-3, 7,8,-4,12, -10,6)时,最大子段和为:23 bj是1到j位置的 阅读全文
posted @ 2015-06-15 16:34 草滩小恪 阅读(332) 评论(0) 推荐(0)
摘要:1、问题描述: 在计算机中,常用像素点的灰度值序列{p1,p1,……pn}表示图像。其中整数pi,1s[i-j] + j*bmax)19 {20 s[i] = s[i-j] + j*bmax;21 l[i] = ... 阅读全文
posted @ 2015-06-15 16:02 草滩小恪 阅读(263) 评论(0) 推荐(0)
摘要:1、问题描述: 给定N个顶点的多边形,每个顶点标有一个整数,每条边上标有+(加)或是×(乘)号,并且N条边按照顺时针依次编号为1~N。下图给出了一个N=4个顶点的多边形。 游戏规则 :(1) 首先,移走一条边。 (2) 然后进行下面的操作: 选中一条边E,该边有两个相邻的顶点,不妨称为V1和V2。对... 阅读全文
posted @ 2015-06-14 10:58 草滩小恪 阅读(646) 评论(0) 推荐(0)
摘要:问题相关定义: (1)凸多边形的三角剖分:将凸多边形分割成互不相交的三角形的弦的集合T。(2)最优剖分: 给定凸多边形P,以及定义在由多边形的边和弦组成的三角形上的权函数w。要求确定该凸多边形的三角剖分,使得该三角剖分中诸三角形上权之和为最小。 下图为剖分案例。 若凸(n+1)边形P={V0,V1…... 阅读全文
posted @ 2015-06-14 09:36 草滩小恪 阅读(1713) 评论(0) 推荐(0)
摘要:欧拉路径:若图G中存在这样一条路径,使得它恰通过G中每条边一次,则称该路径为欧拉路径。若该路径是一个圈,则称为欧拉(Euler)回路。图论起源于18世纪,1736年瑞士数学家欧拉(Euler)发表了图论的第一篇论文“哥尼斯堡七桥问题”。在当时的哥尼斯堡城有一条横贯全市的普雷格尔河,河中的两个岛与两岸... 阅读全文
posted @ 2015-06-09 22:15 草滩小恪 阅读(261) 评论(0) 推荐(1)
摘要:题目Output: standard outputTime Limit: 1 secondMemory Limit: 32 MBJohn has n tasks to do. Unfortunately, the tasks are not independent and the execution... 阅读全文
posted @ 2015-05-29 21:37 草滩小恪 阅读(313) 评论(0) 推荐(0)
摘要:这道题目甚长, 代码也是甚长, 但是思路却不是太难。然而有好多代码实现的细节, 确是十分的巧妙。 对代码阅读能力, 代码理解能力, 代码实现能力, 代码实现技巧, DFS方法都大有裨益, 敬请有兴趣者耐心细读。(也许由于博主太弱, 才有此等感觉)。题目: UVa 1103In order to un... 阅读全文
posted @ 2015-05-27 20:43 草滩小恪 阅读(3745) 评论(2) 推荐(2)
摘要:The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large rectangular region of... 阅读全文
posted @ 2015-05-27 12:35 草滩小恪 阅读(436) 评论(0) 推荐(0)
摘要:郑重声明: 数据结构这部分内容, 由于博主才学很少(且很浅)的内容, 所以现在所写的(大都是抄的)一些典型例题, 再加上一些自己想法和理解而已, 等博主勤加修炼, 以后会大有补充和改进。 粗浅之处, 还望大牛们哈哈一笑!UVa297 - QuadtreesTime limit: 3.000 seco... 阅读全文
posted @ 2015-05-26 23:11 草滩小恪 阅读(258) 评论(0) 推荐(0)
摘要:矩阵的乘法:Matrix:乘法: A*B ,需要A的列数=B的行数矩阵 C = A*B则: C[i,j] = ∑A[i,k]*B[k,j]矩阵的乘法代码://矩阵的乘法 void mul(int A[][MAXN],int B[][MAXN])//A=A*B{ int R[MAXN][... 阅读全文
posted @ 2015-05-23 11:51 草滩小恪 阅读(192) 评论(0) 推荐(0)
摘要:样例输入:4 23 410 12 28 12816 12345样例输出:127512325536358 1 //纯粹模拟算法 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = 20; 7 int s[1n) bre... 阅读全文
posted @ 2015-05-20 13:33 草滩小恪 阅读(436) 评论(0) 推荐(0)
摘要:每辆火车都从A方向驶入车站,再从B方向驶出车站,同时它的车厢可以进行某种形式的重新组合。假设从A方向驶来的火车有n节车厢(n 2 #include 3 using namespace std; 4 5 const int maxn = 1000 + 10; 6 int n, target[maxn... 阅读全文
posted @ 2015-05-20 13:15 草滩小恪 阅读(597) 评论(0) 推荐(0)
摘要:分治法。 无需赘述! 就是把规模较大的问题划分成易于解决的小问题, 这个思路和模块化编程思想较为相似!。 然后把小问题的解组合成所要的最终目的解。 在一般情况下, 分治法都和递归有一腿, 所以如果想用好分治, 请先了解一下递归(当然大神可以秒杀一切, 腾空跳读, 弱渣只有膜拜!)。分治法模式:div... 阅读全文
posted @ 2015-05-19 13:38 草滩小恪 阅读(344) 评论(0) 推荐(0)
摘要:递归就是函数间接的调用自己, 它的实现基于函数参数传递的栈机制, 每次递归递归调用都会多一个栈帧——和简单的函数调用并没有什么不同 (都是使用了调用栈)。调用自己和调用其它函数并没有本质的区别, 都是建立新栈帧, 传递参数并修改当前代码行。在函数体执行完毕后删除栈帧, 处理返回值并修改当前代码行。 阅读全文
posted @ 2015-05-17 19:57 草滩小恪 阅读(311) 评论(0) 推荐(0)
摘要:大家都应该知道, 指针是个什么玩意儿, 它就是用来存另一个变量的地址的。这玩意儿在程序中容易引起不易察觉的错误, 而且会给调试带来莫大的困难。 尽管如此,它现在依然存在着, 这就从另一方面说明了, 它的功能爆表。 在实现链式存储, 图, 树, 森林时, 大都要用指针。 不仅如此, 在访问多维数组,函 阅读全文
posted @ 2015-05-17 09:30 草滩小恪 阅读(1500) 评论(0) 推荐(0)

1