10.4.2

因为把第三节写完了,所以必须要做个总结。

首先题目是递归与分治。

要我说其实主题就三个,递推(并由递推引进递归,毕竟递推要比递归好理解些),组合计数,分治。

一,递推。(递归)

1,什么是递推。

一串序列存在一种关系,可以通过这种关系从前项或前几项中推出后面的项。

2,怎么个应用法?

一般你需要做三步,第一步,找出初始状态;第二步,找到递推公式;第三步,开始递推。

其中难度一般再找出递推公式,因为题目一般不会明显地给你。最简单的应用就是斐波那契数列。

同时在课件中,给出了如下例题

    1,骨牌铺棋盘

    2,三个难度递增的平面分割问题。

    3,从(1,1)到(x,y)有多少种走法的问题。

    4,(0,0)走到(n,n),这个好像是组合计数的问题。

3,如何联系到其他知识?

我就来谈谈二分。。二分要有边界,要有单调性。恩,条件数量一样。

4,什么是递归?

直接说递归的定义不好说,但是我们可以先从递归函数的角度出发

若一个函数的定义满足

f(n)=g(n,f(n-1)),n>0;
f(0)=a,              n=0;

  拥有递归式和递归边界,那么这种定义函数的方式就称之为递归定义。

5,递归在哪里应用?

课件给我说的很清楚。

    1,数据的定义形式是递归的,比如斐波那契数列这种问题。

    2,数据之间的逻辑关系(即数据结构)是递归的,比如树和图的定义等。

    3,某些问题的解法是不断重复一种操作,只是问题的规模由大化小,直到某个原操作就结束。就像汉诺塔问题。

    4,小练手中的全排列的生成。

同时递推在注意记忆化应用。

6,和其他知识的联系在哪里?

就和递推联系很近。

二,组合计数

1,什么是组合计数

以加法原理和乘法原理为基础,在其之上进行组合等对于数字排列的方法。

以排列组合为基础也行。

    (1),什么是加法原理,乘法原理?

加法原理又称分类计数原理,我称之为解渴原理。已知有三种奶茶,四种饮料,我很渴,如果我想要解渴(只你能选择其中一种),那么有多少种解渴方法?显然是7种。

乘法原理又称分步计数原理,我称之为搭配原理。已知你有三种不同的上衣,四种不同的裤子,求你搭配有多少种。显然是12种对吧。

    (2),什么是排列,组合?

排列,从N个数中有序地取出M个数的方案数是多少?

!!!组合,从N个数中无序地取出M个数地方案数是多少?

2,组合计数有什么用?

    1,杨辉三角形(帕斯卡尔三角形),二项式定理。

    2,P3414;

    3,卡特兰数,而且这个东西变式还很多多。

三,分治

1,什么是分治?

分治分治,就是分而治之,将大问题分化成一些小问题再逐个击破。

同时从本质上来说,分治和递归的思想很是接近,都是由大化小。

2,分治的应用?

    1,归并排序(我觉得这跟分治似乎也没有太大联系。。)

    2,以及根据归并求逆序对抱歉我不会。。

    3,最大字段和问题。

    4,快速幂。

四,其他

    1,隔板法。(n个相同的球放到m个不同的袋子里)

    2,n个不同的球放到M个不同的袋子中

    3,n个不同的球放到m个相同的袋子中

     这个解法挺玄幻的。

原文地址:https://www.cnblogs.com/beiyueya/p/11622258.html