![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++算法讲解
小哼007
优质的代码千篇一律,用心的博文万里挑一。
展开
-
深度优先搜索(2)——数字三角形
深度优先搜索(1)例题一:数字三角形题目:有一个数字三角形,编程求从最顶层到最底层的一条路所经过位置上数字之和的最大值。每一步只能向左下或右下方向走。下图数据的路应为7->3->8-&原创 2019-01-18 17:56:50 · 998 阅读 · 3 评论 -
动态规划算法初步(6)——0/1 背包
动态规划算法初步(6)例题五:0/1 背包(背包型)题目:一个旅行者有一个最多能装m公斤物品的背包,现在有n件物品,它们的重量分别是w1,w2,…,wn,它们的价值分别为c1,c2,…,cn。若每种物品只有一件,求旅行者能获得的最大总价值。输入:第一行:两个整数,m(背包容量,m<=200)和n(物品数量,n<=30)。第二行~n+1行,每行两个整数w1,c1,表示每个物品...原创 2019-01-20 10:42:11 · 284 阅读 · 1 评论 -
动态规划算法初步(5)——最大连续子序列和
动态规划算法初步(5)例题四:最大连续子序列和(线性型:最大连续子序列的和模型)题目:求给定序列的最大连续子序列和。输入:第一行:n(N<100000)第二行:n个整数(-3000,3000)。输出:最大连续子序列的和。输入样例:7-6 4 -1 3 2 -3 2输出样例:8要求掌握(缺一不可):基本语句;if语句;for语句;一维数组;递推思路:...原创 2019-01-20 08:29:05 · 808 阅读 · 0 评论 -
动态规划算法初步(4)——合唱队形
动态规划算法初步(4)例题三:合唱队形 (NOIP 2004)(线性型)题目:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K 位同学从左到右依次编号为1,2,……,K,他们的身高分别为T1,T2,……,Tk,则他们的身高满足T1<T2<……Ti,Ti>Ti+1>……&原创 2019-01-19 21:13:06 · 1085 阅读 · 2 评论 -
动态规划算法初步(3)——导弹拦截
动态规划算法初步(3)例题二:导弹拦截(NOIP 1999)(线性型:最长上升子序列模型)题目:某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统,但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都要求高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭,由于该系统还在试用阶段,不能拦截所有的导弹,输入敌国导弹依次飞来的高度(雷达给出的高度数据是不大于30...原创 2019-01-19 20:22:07 · 586 阅读 · 0 评论 -
动态规划算法初步(1)
动态规划算法初步(1)动态规划的基本概念:动态规划(Dynamic Programming 简称DP)。动态规划是解决“多阶段决策问题”的一种高效算法。动态规划通过合理组合子问题的解从而解决整个问题解的一种算法。其中的子问题并不是独立的,这些子问题又包含有公共的子子问题。动态规划算法就是对每个子问题只求一次,并将其结果保存在一张表中(数组),以后再用到时直接从表中拿过来使用,避免重复计算...原创 2019-01-21 06:54:34 · 406 阅读 · 0 评论 -
深度优先搜索(1)
深度优先搜索(1)深度优先搜索概念:深度优先搜索所遵循的搜索策略是尽可能“深”地搜索图。讲通俗一点,深度优先搜索其实像在走迷宫,遇到一个岔路口,先选则一条路,当发现这条路是死路时,又返回岔路口选择第二条路,直至找到出口。在尝试优先搜索中:⑴对于最新发现的结点,它还有以此为起点而未搜索的边,就沿此边继续搜索下去。⑵当结点v的所有边都已被探寻过,搜索将回溯到发现结点v有那条边的始结点。⑶...原创 2019-01-19 17:18:38 · 2135 阅读 · 0 评论 -
动态规划算法初步(2)——数字三角形
动态规划算法初步(1)例题一:数字三角形(是不是感觉很熟悉)有人评论本人的博客《深度优先搜索(1)——数字三角形》说我的代码是错的其实,本题的正解是用动态规划,在《深度优先搜索(1)——数字三角形》里出现只是为了让读者理解深度优先搜索(用深度优先搜索当有1000以上的数时会爆)题目:有一个数字三角形,编程求从最顶层到最底层的一条路所经过位置上数字之和的最大值。每一步只能向左下或右下方向走...原创 2019-01-19 11:16:05 · 346 阅读 · 0 评论 -
深度优先搜索(练手)——全排列
深度优先搜索(练手)练手题:采药(NOIP普及组)题目:辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,...原创 2019-01-19 07:40:36 · 268 阅读 · 0 评论 -
深度优先搜索(4)——子集
深度优先搜索(3)例题三:子集题目:输入n,输出集合[1,2,…,n]的所有子集(n<=8)。输入:数字n输出:集合[1,2,…,n]的所有子集。输入样例:3输出样例:[][3][2][2,3][1][1,3][1,2][1,2,3]要求掌握(缺一不可):基本语句;if语句;for语句;一维数组;函数;递归...原创 2019-01-19 07:19:04 · 507 阅读 · 0 评论 -
深度优先搜索(3)——八皇后
深度优先搜索(2)例题一:八皇后(洛谷题)题目:检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列2 4 6 1 3 5来描述,第i个数字表示在第i行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 3 5这只是跳棋放置的一个解。请编一个...原创 2019-01-18 20:31:37 · 474 阅读 · 0 评论 -
动态规划算法初步(7)——完全背包
动态规划算法初步(7)例题六:完全背包(背包型)题目:设有n种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为m,今从n种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于m,而价值的和为最大。输入:第一行:两个整数,m(背包容量,m<=200)和n(物品数量,n<=30)。第二行~n+1行,每行两个整数w1,c1,表...原创 2019-01-20 20:35:57 · 249 阅读 · 0 评论