自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zjx_cfbx的博客

复杂问题简单化,简单问题程序化

  • 博客(6)
  • 资源 (2)
  • 收藏
  • 关注

原创 动态规划之五:数字三角形

问题:将一个由n行数字组成的三角形,如图所示,设计一个算法,计算出三角形的由顶至底的一条路径,使该路径经过的数字总和最大?图1数字三角形       首先拿到这题,我们第一想法肯定是使用深度优先算法DFS或者广度优先算法BFS,但是使用DFS算法需要遍历所有点,搜索时会重复遍历一些点,导致时间成指数增长。图2重复计算的次数设我们用二维数组map[m][n]来存储数字三角形,把图1转换成实际的存储格...

2018-04-17 16:39:05 272 1

原创 动态规划之三:剪绳子变形之切割杆

问题:现在已知有一个长度为n的切割杆,且1~n长度对应的价值存储在prices[n]数组中,将其进行若干次切割,求其达到的最大价值?      通过问题的叙述我们可以发现,和前一篇讲解的动态规划之二:剪绳子问题很相似,都属于动态规划的内容,因此我们就用动态规划的思想来解决问题。      现在使用形式化语言来描述问题规模的最大价值状态,即f(n)表示长度为n的切割杆的最大价值。prices[n]数...

2018-04-17 10:01:27 402

原创 动态规划之四:最长公共子序列

问题:已知两个序列的长度分别为m、n,求取这两个序列的最长公共子序列LCS(longest common sequence)的长度?示例描述:    输入:         第一行输入两个整数分别为n、m,它们分别代表序列source以及dest 的长度         第二行输入序列source的值         第三行输入序列dest的值  输出:        输出最长子序列的长度。实例:...

2018-04-16 23:21:35 375

原创 动态规划之二:剪绳子问题

问题:现有一根长度为N的绳子,需要你剪成M段,使M段的乘积最大。(其中M、N都为整数,剪成的每段长度也为整数,N已知,M未知)例如 绳子长度N=8 剪成M=3,数值为别为2,3,3,则乘积最大为 2*3*3=18。 当我们遇到一个大规模问题时,总是习惯把问题的规模变小,这样便于分析讨论。我们从最简单的情况进行分析:当绳子的长度N=1时,我们至少需要剪绳子一次,这时乘积为0;当绳子的长度为N=2时,...

2018-04-15 20:58:56 3290 5

原创 动态规划之一:凑钱

动态规划     适用动态规划解决的问题,经分解得到的子问题往往不是互相独立的,通过把原问题分解为相对简单的子问题的的方式求解复杂问题的方法,求解的问题要具备最优子结构性质和重叠子问题性质的基本要素。基本思想:如果给定一个问题,我们可以分解为不同的子问题且能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,从而得到多项式时间算法。为了达到此目的,可以用一个表来...

2018-04-15 15:43:05 3204 2

原创 指针与自增优先级的问题

在我们面试时,经常会有一些关于运算符优先级的题目,今天就给大家展示一个常出现的例子。问题:定义一个数组 int a[10]={1,2,3,4,5,6,7,8,9,0}; int *p=a; 则 cout<<*p++<<endl; C++部分运算符优先级顺序      由此问题我们可以看出来,其想考察的是C++程序设计的运算符的优先级以及后自增的知识点。我们查看优先级表格表格...

2018-04-14 16:23:52 5353 1

VA_X破解版插件

VA_X插件包含安装文件、破解版程序以及破解版Dll,便于开发人员免费试用此插件。

2018-09-21

CC++与设计模式基础课程_讲义

c++语言实现我们常用的一些设计模式相关的案例,这是一份讲义!

2018-04-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除