学习资料
文章平均质量分 77
Richr_Wong
这个作者很懒,什么都没留下…
展开
-
最常用标准库函数
最常用标准库函数 标准头文件包括: 标准定义() 文件里包含了标准库的一些常用定义,无论我们包含哪个标准头文件,都会被自动包含进来。这个文件里定义: 类型size_t(sizeof运算转载 2014-10-31 08:05:46 · 665 阅读 · 0 评论 -
学习笔记(二)——STL
//上一章讲到了映照容器,提到了一个利用map分离各位数字的用法,下面上例程: #include #include #include using namespace std; int main() { //定义map对象,当前没有任何元素 map m; //赋值:字符映射数字 m['0']=0; m['1']=1; m['2']=2;原创 2015-04-22 19:35:34 · 543 阅读 · 0 评论 -
学习笔记(三)——STL
上一章说到了的使用,下面我们先来介绍一个的姊妹容器—— "priority_queue" priority_queue优先队列容器和queue一样,只能从队列尾部插入元素,从队列首部删除元素。但它有一个特性,就是队列中最大元素总是位于队首,所以出队时,并非按照FIFO的顺序进行,而是将队列中最大的元素弹出。这点类似于给队列中元素进行了由大到小的顺序排序。元素的比较规则默认为按元原创 2015-04-23 09:10:43 · 516 阅读 · 0 评论 -
C语言单链表练习
复习一遍C语言的链表部分,用单链表实现了点东西,扔上来放着方便日后调用。 #include "stdafx.h" #include "stdio.h" #include #include "string.h" typedef int elemType ; /*****************************************************************原创 2015-04-15 12:38:36 · 591 阅读 · 0 评论 -
动态规划第六讲——leetcode上的动态规划汇总(下)
接下来的几道题,都是有关路径问题,这可以说是DP问题的一种典型应用。路径有一个维度的;也有两个维度的。 Eg10:Climbing Stairs 这道题目比较简单,重在分析思路。 Eg11:Minimum Path Sum 分析:略 class Solution { public:转载 2014-11-02 09:26:11 · 506 阅读 · 0 评论 -
动态规划第五讲——leetcode上的题目动态规划汇总(上)
本节,我们将对leetcode上有关DP问题的题目做一个汇总和分析。 1.题目来源 Interleaving String 动态规划 二叉树 Unique Binary Search Trees 动态规划二叉树 Word Break 动态规划N/A Word Break II 动态规划N/A Palindrome Partitioning 动态规划N/A Palindro转载 2014-11-02 09:25:09 · 654 阅读 · 0 评论 -
动态规划第四讲——计数问题中的DP算法
DP不仅广泛用于各种最优化问题,也常常用于排列组合的个数、概率期望计算等等,因为这些问题往往具有很好的“ 重叠子问题”特性,这些问题往往都起源于排列组合中的组合公式A(n, k) = A(n-1, k) + A(n-1, k-1) 例一:求解划分数 有n个无差别的物品,将他们划分成不超过m组,求划分方法数除以M的余数。 分析:dp[i][j]j的i划分的总数 dp[i][j]转载 2014-11-02 09:18:16 · 597 阅读 · 0 评论 -
动态规划第三讲——序列化的动态规划问题
在第三节中,我们将讨论序列化问题中的动态规划解法。这部分多半分为单序列和双序列等问题 例一:最长上升子序列。 最长上升子序列问题,有一个正整数数列,长度n在1000之内,元素a[i]在10^5之内,求最长递增子序列的长度。 分析一:发现问题的可分性质 如果我们采用穷举法,将有2^n的时间复杂度;这里面有很多是重复的4、3、***类型的子序列,以4开头的递增子序列的长度都是1转载 2014-11-02 09:15:26 · 509 阅读 · 0 评论 -
动态规划第二讲——完全背包与多重背包问题
上一节,我们讨论了01背包问题,说明了*递归与分治法 与 动态规划DP的区别和联系,介绍了缓存的概念*。以下,我们用DC、DP、cache分别表示分治法、动态规划和缓存。本节,我们讨论01背包的另外两种形似—— 完全背包和多重背包问题,分析DP问题的另外一些情况。 例一:完全背包问题 同样有n种价值和重量分别为weight[i] and value[i], 背包大小W。限制转载 2014-11-02 09:09:50 · 655 阅读 · 0 评论 -
动态规划分析总结——如何设计和实现动态规划算法
进行算法设计的时候,时常有这样的体会:如果已经知道一道题目可以用动态规划求解,那么很容易找到相应的动态规划算法并实现;动态规划算法的难度不在于实现,而在于分析和设计—— 首先你得知道这道题目需要用动态规划来求解。本文,我们主要在分析动态规划在算法分析设计和实现中的应用,讲解动态规划的原理、设计和实现。在很多情况下,可能我们能直观地想到动态规划的算法;但是有些情况下动态规划算法却比较隐蔽,难以发现。转载 2014-11-02 09:04:43 · 551 阅读 · 0 评论 -
【总结】字符串匹配: KMP 和 拓展KMP
比起ac自动机,kmp就一个next数组,理解了如何初始化next后就可以搞一些模板题了,下面是还不错的学习资料,清晰易懂,自己用的模板也来自它: http://chaoswork.com/blog/2011/06/14/kmp%E7%AE%97%E6%B3%95%E5%B0%8F%E7%BB%93/ kmp模板转载 2014-10-31 08:08:02 · 500 阅读 · 0 评论 -
学习笔记(四)图的遍历
图的遍历有两种遍历方式:深度优先遍历(depth-first search)和广度优先遍历(breadth-first search)。 DFS通常使用递归实现,BFS通常使用队列实现。图的遍历是树的遍历的推广,是按照某种规则(或次序)访问图中各顶点依次且仅一次的操作,亦是将网络结构按某种规则线性化的过程。 1.DFS 基本思想: 首先从图中某个顶点v0出发,访问此顶点,然后依次从v0相邻原创 2015-04-24 17:06:12 · 680 阅读 · 1 评论