递推与递归
linjiayina
hello world!
展开
-
递归与分治——放苹果
递归与分治——POJ1664 放苹果问题:把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入:第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。输出:对输入的每组数据M和N,用一行输出相应的K。样本输入:...原创 2019-10-01 16:59:42 · 151 阅读 · 0 评论 -
递归与分治——大整数乘法
递归与分治——大整数乘法方法一:#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<algorithm>#include<cmath>using namespace std;int main(){ int...原创 2019-10-01 16:37:01 · 798 阅读 · 0 评论 -
递归与分治——矩阵快速幂
递归与分治——矩阵快速幂问题对一个t阶方阵,要求计算A的n次mod p,其中n是一个很大的数。mod p表示矩阵的每个元素对p取模。输入t(矩阵的阶,<=100),n,p,A(非负矩阵,按行,空隔输入)输出A的n次 mod p,mod p指对A的每个元素对p取模,分行空隔输出,再输出运行时间。实验方法:快速幂算法完整代码#include<cstdio>#i...原创 2019-09-28 16:37:56 · 678 阅读 · 0 评论 -
递归与分治—— Catalan数C(n)的计算
递归与分治—— Catalan数C(n)的计算题意:Catalan数的定义如下,首先规定C(0)为1,然后按照下式定义C(n)。例如n=5,C(5)=C(0)C(4)+C(1)C(3)+C(2)C(2)+C(3)C(1)+C(4)C(0)。前6个Catalan数是1,2,5,14,42,132。要求计算各个Catalan数。样例输入样例输出6132191 ...原创 2019-09-28 16:01:37 · 1808 阅读 · 0 评论 -
递推与递归——选数
递推与递归——选数题目描述已知 n 个整数 x1,x2,…,xn,以及 1 个整数 k(k < n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n = 4,k = 3,4 个整数分别为 3,7,12,19 时,可得到全部的组合与它们的和为:3 + 7 + 12 = 223 + 7 + 19 = 297 + 12 + 19 = 383 + 12 + 19 = 34现在,要求你计算出和为素数共有多少种。例如上例,只有一种的和为素数:3 + 7 + 19 = 29。原创 2020-08-02 10:16:12 · 196 阅读 · 0 评论 -
递推与递归——小A点菜
递推与递归——小A点菜题目背景uim 神犇拿到了 uoi 的 ra(镭牌)后,立刻拉着基友小 A 到了一家……餐馆,很低端的那种。uim 指着墙上的价目表(太低级了没有菜单),说:“随便点”。题目描述不过uim由于买了一些辅(e)辅(ro)书,口袋里只剩 M 元(M ≤ 10000)。餐馆虽低端,但是菜品种类不少,有 N 种(N ≤ 100),第 i 种卖 ai 元(ai ≤ 1000)。由于是很低端的餐馆,所以每种菜只有一份。小A奉行“不把钱吃光不罢休”,所以他点单一定刚好吧 uim 身上所原创 2020-08-02 09:29:06 · 436 阅读 · 0 评论 -
递推与递归——蜜蜂路线
递推与递归——蜜蜂路线题目描述一只蜜蜂在下图所示的数字蜂房上爬动,已知它只能从标号小的蜂房爬到标号大的相邻蜂房,现在问你:蜜蜂从蜂房 m 开始爬到蜂房 n,m < n,有多少种爬行路线?(备注:题面有误,右上角应为 n - 1)输入格式输入 m,n 的值输出格式爬行有多少种路线输入输出样例输入样例1 14输出样例377说明/提示对于 100% 的数据,M,N ≤ 1000分析根据题意,可以推得递推式为:f[n] = f[n-1] + f[n-2]而从 m 到 n 有原创 2020-08-01 15:34:45 · 1850 阅读 · 0 评论 -
递推与递归——外星密码
递推与递归——外星密码题目描述有了防护伞,并不能完全避免 2012 的灾难。地球防卫小队决定去求助外星种族的帮 助。经过很长时间的努力,小队终于收到了外星生命的回信。但是外星人发过来的却是一 串密码。只有解开密码,才能知道外星人给的准确回复。解开密码的第一道工序就是解压 缩密码,外星人对于连续的若干个相同的子串 “X” 会压缩为 “[DX]” 的形式(D 是一个整 数且 1 ≤ D ≤ 99),比如说字符串 “CBCBCBCB” 就压缩为 “[4CB]” 或者 “[2[2CB]]”,类 似于后面这种压缩原创 2020-08-01 15:05:33 · 204 阅读 · 0 评论 -
递推与递归——Function
递推与递归——Function题目描述对于一个递归函数 w(a,b,c)如果 a ≤ 0 or b ≤ 0 or c ≤ 0 就返回值 1如果 a >20 or b > 20 or c >20 就返回 w(20,20,20)如果 a < b 并且 b < c 就返回 w(a,b,c-1) + w(a,b-1,c-1) - w(a,b-1,c)其它情况就返回 w(a-1,b,c) + w(a-1,b-1,c) + w(a-1,b,c-1) - w(a-1,b-1,c原创 2020-08-01 11:26:06 · 518 阅读 · 0 评论 -
递推与递归——数的计算
递推与递归——数的计算题目描述我们要求找出具有下列性质数的个数(包含输入的正整数 n)。先输入一个正整数 n(n ≤ 1000),然后对此正整数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个正整数,但该正整数不能超过原数的一半;3.加上数后,继续按此规则进行处理,直到不能再加正整数为止。输入格式1 个正整数 n(n ≤ 1000)输出格式1 个整数,表示具有该性质数的个数。输入输出样例输入样例6输出样例6说明/提示满足条件的数为6,16,26,126,36原创 2020-08-01 09:55:45 · 563 阅读 · 0 评论 -
递推与递归——栈
递推与递归——栈题目背景栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。栈有两种最重要的操作,即 pop(从栈顶弹出一个元素)和 push(将一个元素进栈)。栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问题,而他自己无法给出答案,所以需要你的帮忙。题目描述宁宁考虑的是这样一个问题:一个操作数序列,1,2,…,n(图示为 1 到 3 的情况),栈 A 的深度大于 n。现在可以进行两种操作,1.将一原创 2020-08-01 09:36:07 · 250 阅读 · 0 评论 -
递推与递归——过河卒
递推与递归——过河卒题目描述棋盘上 A 点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A 点 (0, 0)、B 点 (n, m),同样马的位置坐标是需要给出的。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。输入格式一行四个正整数,分别表示 B 点坐标和马的坐标。输出格式一个原创 2020-08-01 08:37:15 · 1542 阅读 · 0 评论 -
递推与递归——数楼梯
递推与递归——数楼梯题目描述楼梯有 N 阶,上楼可以一步上一阶,也可以一步上二阶。编一个程序,计算共有多少种不同的走法。输入格式一个数字,楼梯数。输出格式输出走的方式总数。输入输出样例输入样例4输出样例5说明/提示对于 60% 的数据,N ≤ 50;对于 100% 的数据,N ≤ 5000。分析这题可以得到的递推式为:f[n] = f[n-1] + f[n-2]但还要注意,这题需要考虑高精度问题,所以我用了 python 来写。n = int(input())f =原创 2020-07-20 18:23:32 · 931 阅读 · 0 评论