课程作业01: 1.使用计算机计算组合数: (1).使用组合数公式n!来计算 设计思想:利用递归把n的阶乘求出来,再利用组合数的公式求出组合数。 程序流程图: 源程序代码: import java.util.Scanner; import org.omg.CORBA.PUBLIC_MEMBER; p ...
分类:
其他好文 时间:
2017-10-13 12:42:39
阅读次数:
161
第二类斯特林数 第二类Stirling数:S2(p, k) 1.组合意义:第二类Stirling数计数的是把p个互异元素划分为k个非空集合的方法数 2.递推公式: S2(0, 0) = 1 S2(p, 0) = 0 ( p >= 1) 显然p >= 1时这种方法不存在 S2(p, p) = 1 显然 ...
分类:
其他好文 时间:
2017-10-13 00:31:15
阅读次数:
454
动态规划算法通常基于一个递推公式及一个或多个初始状态。当前子问题的解将由上一次子问题的解推出。使用动态规划来解题只需要多项式时间复杂度,因此它比回溯法、暴力法等要快许多。 现在我们用一道题来了解它。 dp经典之方格取数【问题描述】 设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而 ...
分类:
编程语言 时间:
2017-10-05 18:02:43
阅读次数:
222
可以预见数论推公式是有多么蛋疼。 让我简明扼要的讲讲吧(多都说不出来,毕竟才做了两道题)其实呢,这个算法应该归入群论,有个有用的东西:置换群,它表示一个集合包括很多的置换。先讲讲置换吧:↓(这是个置换)1 2 3 43 1 2 4怎么个置换法呢?这个就代表,第1个状态置换后变成第3个状态,第2个状态 ...
分类:
其他好文 时间:
2017-09-25 22:00:58
阅读次数:
164
这篇博客主要讲的是动态规划入门,即动态规划的思想,并且再讲解动态规划的最简单的一个方法。 首先,什么是动态规划? 动态规划是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。其实就是分解问题,分而治之。可能这样说大家都不太理解,其实这个有点类似于数学中的递推公 ...
分类:
编程语言 时间:
2017-09-23 20:19:48
阅读次数:
189
问题: 已知递推公式:f[i] = ( a * f[i-1] + b * f[i-2] ) % 7,f[1]=1,f[2]=1。 需要你输入三个数a,b,n。其中a,b用来补充上述公式,用补充后的公式计算 f[n]。 析: 每次输入a,b都会有一个对应的公式,由这个公式会得到的一个周期性的数列,然后 ...
分类:
其他好文 时间:
2017-08-29 20:36:37
阅读次数:
188
和POJ 3254很像。连续两个都不一样需要添加移位两位的条件,dp数组中多了一维保存上上一行。递推公式也变成求最大值。 初始化的时候从dp[1][0][i]开始,0是根据st数组的起始。 ...
分类:
其他好文 时间:
2017-08-23 19:08:47
阅读次数:
195
Description 在2016年,佳媛姐姐刚刚学习了第二类斯特林数,非常开心。 现在他想计算这样一个函数的值: 在2016年,佳媛姐姐刚刚学习了第二类斯特林数,非常开心。 现在他想计算这样一个函数的值: S(i, j)表示第二类斯特林数,递推公式为: S(i, j) = j ? S(i ? 1, ...
分类:
其他好文 时间:
2017-08-23 00:41:23
阅读次数:
188
题目描述 在2016年,佳媛姐姐刚刚学习了第二类斯特林数,非常开心。 现在他想计算这样一个函数的值: S(i, j)表示第二类斯特林数,递推公式为: S(i, j) = j ? S(i ? 1, j) + S(i ? 1, j ? 1), 1 <= j <= i ? 1。 边界条件为:S(i, i) ...
分类:
其他好文 时间:
2017-08-22 18:41:38
阅读次数:
130