
递推
soloier
这个作者很懒,什么都没留下…
展开
-
偶数个数字3
http://blog.youkuaiyun.com/u011514451/article/details/38561659原创 2016-08-12 11:23:13 · 715 阅读 · 0 评论 -
数的划分(NOIP2001)
【问题描述】 将整数n分成k份,且每份不能为空,任意两种分法不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。 【输入格式】 n,k (6【算法分析】方法1、回溯法,超时,参考程序如下。#include<cstdio>#includ原创 2016-05-19 07:31:12 · 860 阅读 · 0 评论 -
极值问题
【问题描述】 已知m、n为整数,且满足下列两个条件: ① m、n∈{1,2,…,k},即1≤m,n≤k ②(n2-m*n-m2)2=1 你的任务是:编程输入正整数k(1≤k≤109),求一组满足上述两个条件的m、n,并且使m2+n2的值最大。例如,从键盘输入k=1995,则输出:m=987 n=1597。 【输入样例】acme原创 2016-05-18 09:28:56 · 2112 阅读 · 0 评论 -
Stirling数
在五类典型的递推关系中,第二类Stirling是最不为大家所熟悉的。也正因为如此,我们有必要先解释一下什么是第二类Strling数。 【定义2】n个有区别的球放到m个相同的盒子中,要求无一空盒,其不同的方案数用S(n,m)表示,称为第二类Stirling数。 下面就让我们根据定义来推导带两个参数的递推关系——第二类Stirling数。 解:设有n个不同的球,分别用b1原创 2016-05-18 08:01:25 · 552 阅读 · 0 评论 -
Catalan数
Catalan数首先是由Euler在精确计算对凸n边形的不同的对角三角形剖分的个数问题时得到的,它经常出现在组合计数问题中。 问题的提出:在一个凸n边形中,通过不相交于n边形内部的对角线,把n边形拆分成若干三角形,不同的拆分数目用hn表示,hn即为Catalan数。例如五边形有如下五种拆分方案(图3-14),故h5=5。求对于一个任意的凸n边形相应的hn。 Catalan数是原创 2016-05-18 07:48:34 · 650 阅读 · 0 评论 -
平面分割问题
问题的提出:设有n条封闭曲线画在平面上,而任何两条封闭曲线恰好相交于两点,且任何三条封闭曲线不相交于同一点,问这些封闭曲线把平面分割成的区域个数。解:设an为n条封闭曲线把平面分割成的区域个数。 由图3-13可以看出:a2-a1=2;a3-a2=4;a4-a3=6。 从这些式子中可以看出an-an-1=2(n-1)。当然,上面的式子只是我们通过观察4幅图后得出的结论,它的正确性尚不能保证。下面原创 2016-05-18 07:28:08 · 6099 阅读 · 2 评论 -
Hanoi塔问题
问题的提出:Hanoi塔由n个大小不同的圆盘和三根木柱a,b,c组成。开始时,这n个圆盘由大到小依次套在a柱上,如图3-11所示。 要求把a柱上n个圆盘按下述规则移到c柱上: (1)一次只能移一个圆盘; (2)圆盘只能在三个柱上存放; (3)在移动过程中,不允许大盘压小盘。 问将这n个盘子从a柱移动到c柱上,总计需要移动多少个盘次? 解:设hn为n个盘子从a柱移到c柱所需移动原创 2016-05-18 07:18:36 · 675 阅读 · 0 评论 -
邮票问题
【问题描述】 设有已知面额的邮票m种,每种有n张,用总数不超过n张的邮票,能从面额1开始,最多连续组成多少面额。(1≤m≤100,1≤n≤100,1≤邮票面额≤255) 【输入格式】 第一行:m,n的值,中间用一空格隔开。 第二行:A[1..m](面额),每个数中间用一空格隔开。 【输出格式】 连续面额数的最大值 【输入样例】stamp.in 3 4原创 2016-05-17 10:41:48 · 6386 阅读 · 0 评论 -
信封装信问题
设N封信和N个对应的信封,如果全部装错,共有f(n)种装法 则 f(1)=0, f(2)=1, n>2 时 f(n)=(n-1)*(f(n-1)+f(n-2)) 分析:设信和封的对应编号为1 2 3 4……n,则 封1中可装入编号为2……n的任一信,共有n-1中可能,设为第i信。 而信1装入的封有两种可能:一为装入i封中,有f(n-2)种,一为未装入i封中,有f(n原创 2016-05-16 17:38:13 · 1109 阅读 · 0 评论 -
数的计数(Noip2001)
【问题描述】 我们要求找出具有下列性质数的个数(包括输入的自然数n)。先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理: 不作任何处理; 在它的左边加上一个自然数,但该自然数不能超过原数的一半; 加上数后,继续按此规则进行处理,直到不能再加自然数为止。 输入:自然数n(n≤1000) 输出:满足条件的数 【输入样例】 6 满足条件的数为原创 2016-05-17 14:09:46 · 5833 阅读 · 5 评论