动态规划
文章平均质量分 79
QiaoRuoZhuo
这个作者很懒,什么都没留下…
展开
-
丑数序列
'''一个数如果它的质因子只有2、3、5或7,那么我们称这个数为丑数。例如前20个丑数为[1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,21,24,25,27]。现要求编程找出第n个丑数。'''def f(n): s = [1] a = b = c = d = 0 while len(s) < n: s.app...原创 2019-11-16 12:56:08 · 284 阅读 · 0 评论 -
矩阵连乘的问题
分别使用自顶向下和自底向上两种方式实现了动态规划算法。还给出了一种巧妙的输出方式。原创 2017-03-27 09:15:43 · 723 阅读 · 0 评论 -
放苹果问题集锦(每个盘子至少放1个苹果)
/* Name: 放苹果问题集锦(每个盘子至少放1个苹果) Copyright: Author: Date: 31-07-17 21:22 Description: 放苹果查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述把N个同样的苹果放在M个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同...原创 2018-06-05 16:19:49 · 2268 阅读 · 0 评论 -
1808_公共子序列
/* Name: 1808_公共子序列 Copyright: Author: Date: 21-06-18 09:25 Description: 1808_公共子序列查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述我们称序列Z = < z1, z2, ..., zk >是序列X = < x1, x2, ..., xm >...原创 2018-06-21 15:21:25 · 364 阅读 · 0 评论 -
编辑距离
/* Name: 编辑距离 Copyright: Author: Date: 21-06-18 14:11 Description: 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。将字符串A变换为字符串B所用的最少字符操作数称为字符串A到B的编辑距离,记为 ...原创 2018-06-21 15:21:55 · 161 阅读 · 0 评论 -
动态规划专题之最长公共子序列
动态规划系列专题讲义专题三:最长公共子序列/* Name: 动态规划专题之最长公共子序列 Author: 巧若拙 Description: 1808_公共子序列描述:我们称序列Z = < z1, z2, ..., zk >是序列X = < x1, x2, ..., xm >的子序列当且仅当存在 严格上升 的序列< i1, i2, ..., i...原创 2018-06-21 15:22:31 · 199 阅读 · 0 评论 -
2046_骨牌铺方格
/* Name: 2046_骨牌铺方格 Copyright: Author: Date: 14-06-18 13:51 Description: 描述:在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数。例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: 输入:输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是...原创 2018-06-14 17:07:19 · 158 阅读 · 0 评论 -
1788_Pell数列
/* Name: 1788_Pell数列 Copyright: Author: Date: 14-06-18 11:38 Description: 1788_Pell数列查看 提交 统计 提问总时间限制: 3000ms 内存限制: 65536kB描述Pell数列a1, a2, a3, ...的定义是这样的,a1 = 1, a2 = 2, ... , an = 2 * an -...原创 2018-06-14 17:08:30 · 783 阅读 · 0 评论 -
动态规划系列专题讲义之斐波那契数列
动态规划系列专题讲义 专题一:斐波那契数列 /* Name: Fibonacci数列的动态规划思想 Copyright: Author: Date: 22-03-17 08:56 Description: 斐波那契数列由于斐波纳挈数列是以兔子的繁殖引入的,因此也叫“兔子数列”。它指的是这样一个数列:0,1,1,2,3,5,8,13......从这组数可以很明显看出这样一个规律:从...原创 2018-06-14 17:09:24 · 728 阅读 · 0 评论 -
1755_菲波那契数列
/* Name: 1755_菲波那契数列 Copyright: Author: Date: 22-03-17 08:56 Description: 1755:菲波那契数列查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整...原创 2018-06-14 17:15:26 · 1253 阅读 · 0 评论 -
放苹果算法集锦(允许盘中放置苹果为0个)
/* Name: 666_放苹果 Copyright: Author: Date: 31-07-17 21:22 Description: 666_放苹果查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述把N个同样的苹果放在M个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入第...原创 2018-06-04 14:47:20 · 832 阅读 · 0 评论 -
666_放苹果
/* Name: 666_放苹果 Author: 巧若拙 描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 输入 第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。 输出 对输入的每组数据M和原创 2017-07-20 13:15:45 · 603 阅读 · 0 评论 -
3546_矩阵链乘法
/* Name: 3546_矩阵链乘法 Author: 巧若拙 Description: 题目描述 Description给定有n个要相乘的矩阵构成的序列(链),要计算乘积A1A2.....An。一组矩阵是加全部括号的。矩阵链加括号对运算的性能有很大影响。仅当两个矩阵A和B相容(即A的列数等于B的行数),才可以进行相乘运算。如果A是一个p×q矩阵,B是q×r矩阵,结果C是p×r的矩原创 2017-08-20 17:50:16 · 424 阅读 · 0 评论 -
混合背包问题
/* Name: 混合背包问题 Copyright: Author: Date: 28-07-17 15:11 Description: 混合背包问题 :在n种物品中选取若干件放在容量为c的背包里,分别用P[i]和W[i]存储第i种物品的价值和重量。有的物品只可以取一次(01背包),有的物品可以取无限次(完全背包),有的物品可以取的次数有一个上限(多重背包)求解怎么装物品可使原创 2017-07-28 15:38:01 · 667 阅读 · 0 评论 -
分组背包问题
/* Name: 分组背包问题 Copyright: Author: Date: 28-07-17 16:25 Description: 分组背包问题 :在n种物品中选取若干件放在容量为c的背包里,分别用P[i]和W[i]存储第i种物品的价值和重量。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解怎么装物品可使背包里物品总价值最大。 输入第一行3个数n,c和原创 2017-07-29 11:23:23 · 916 阅读 · 0 评论 -
数塔问题练习5294_挖地雷
/* Name: 5294_挖地雷 Copyright: Author: Date: 06-08-17 21:29 Description:5294_挖地雷 时间限制: 1 s 空间限制: 1000 KB 题目等级 : 黄金 Gold 题解题目描述 Description在一个地图上有N个地窖(N<=20),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径。当原创 2017-08-06 22:35:03 · 467 阅读 · 0 评论 -
2718_移动路线
/* Name: 2718_移动路线 Author: 巧若拙 Description: 桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁的右脚弄伤了,于是蚂蚁只能向上或向右移动。小明把这只蚂蚁放在左下角的方格中,蚂蚁从原创 2017-08-07 15:35:00 · 520 阅读 · 1 评论 -
2728_摘花生
/* Name: 2728_摘花生 Author: 巧若拙 Description: Hello Kitty 想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。Hello Kitty只能向东或向南走,不能向西或向北走。问Hello原创 2017-08-07 15:37:43 · 454 阅读 · 0 评论 -
7614_最低通行费
/* Name: 7614_最低通行费 Author: 巧若拙 Description: 一个商人穿过一个 N*N 的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。这个商人期望在规定时间内用最少费用穿越出去。请问至少需要原创 2017-08-07 15:39:17 · 623 阅读 · 0 评论 -
动态规划专题之数塔问题
动态规划系列专题讲义专题一:数塔问题/* Name: 动态规划专题之数塔问题 Author: 巧若拙 Description:7625_三角形最佳路径问题描述:如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳原创 2017-08-07 15:41:14 · 1366 阅读 · 0 评论 -
1768_最大子矩阵
/* Name: 1768_最大子矩阵 Author: 巧若拙 描述已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。比如,如下4 * 4的矩阵0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2的最大子矩阵是9 2-4 1-1 8这个子矩阵的大小是15。输入输入是一个N * N的矩阵。输原创 2017-09-13 22:15:11 · 645 阅读 · 0 评论 -
集合划分问题
/* Name: 集合划分问题 Copyright: Author: Date: 01-06-18 10:29 Description: 集合划分问题 题目描述设S是一个具有n个元素的集合,S=?a1,a2,……,an?S=?a1,a2,……,an?,现将S划分成k个满足下列条件的子集合S1,S2,……,SkS1,S2,……,Sk ,且满足:1.Si ≠ ?2.Si ∩ S...原创 2018-06-01 11:09:22 · 1252 阅读 · 1 评论 -
动态规划专题之最大连续子序列之和
动态规划系列专题讲义 专题三:最大连续子序列之和/* Name: 动态规划专题之最大连续子序列之和 Author: 巧若拙 Description: 最大连续子序列之和 给定K个整数的序列{ N1,N2, ..., NK },其任意连续子序列可表示为{Ni, Ni+1, ..., Nj }, 其中 1 <= i<= j <= K。最大连续子序列是所有连续子序列中元素和...原创 2018-06-16 22:18:26 · 249 阅读 · 0 评论 -
2045_LELE的RPG难题
/* Name: 2045_LELE的RPG难题 Copyright: Author: Date: 15-06-18 13:58 Description: Problem Description人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著...原创 2018-06-15 15:21:31 · 194 阅读 · 0 评论 -
8462_大盗阿福
/* Name: 8462_大盗阿福 Copyright: Author: Date: 26-06-18 21:40 Description: 8462_大盗阿福查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有 N 家店铺,每家店中都有一些现金。阿福事先调...原创 2018-06-26 22:21:49 · 324 阅读 · 0 评论 -
7627_鸡蛋的硬度
/* Name: 7627_鸡蛋的硬度 Copyright: Author: Date: 26-06-18 21:40 Description: 7627_鸡蛋的硬度查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述最近XX公司举办了一个奇怪的比赛:鸡蛋硬度之王争霸赛。参赛者是来自世 界各地的母鸡,比赛的内容是看谁下的蛋最硬,更奇怪的是XX公司并...原创 2018-06-26 23:16:12 · 257 阅读 · 0 评论 -
8782_乘积最大
/* Name: 8782_乘积最大 Copyright: Author: Date: 27-06-18 09:17 Description: 8782_乘积最大查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别...原创 2018-06-27 10:28:02 · 634 阅读 · 0 评论 -
动态规划专题之合并石子
/* Name: 动态规划专题之合并石子 Author: 巧若拙 Description: 在一个操场上摆放着一排N堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将N堆石子合并成一堆的最小得分。输入描述 Input Description第一行是一个数N。1≤N≤100以下N行每行一个...原创 2018-06-27 10:52:23 · 226 阅读 · 0 评论 -
动态规划专题之石子合并
动态规划专题讲义专题九:合并石子问题/* Name: 动态规划专题之石子合并 Author: 巧若拙 Description: 在一个操场上摆放着一排N堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。试设计一个算法,计算出将N堆石子合并成一堆的最小得分。输入描述 Input Description第一行是...原创 2018-06-27 14:43:38 · 475 阅读 · 0 评论 -
动态规划算法之最长公共子串
#!/usr/bin/python3# 文件名: 动态规划算法之最长公共子串# 作者:巧若拙# 时间:2019-01-02'''两个字符串的最长公共子串与最长公共子序列的区别:最长公共子串要求在原字符串中是连续的,而子序列只需要保持相对顺序一致,并不要求连续。'''#穷举法:最直接的暴力穷举,需要三重循环,效率较低def LSS_length_1(n, m): #最大...原创 2019-01-04 16:38:07 · 677 阅读 · 0 评论 -
动态规划算法之公共子序列
#!/usr/bin/python3# 文件名: 动态规划算法之公共子序列# 作者:巧若拙# 时间:2019-01-02'''Description: 1808_公共子序列查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述我们称序列Z = < z1, z2, ..., zk >是序列X = < x1, x2, ..., xm &g...原创 2019-01-04 16:39:18 · 277 阅读 · 0 评论 -
装球问题算法集锦
# -*- coding: utf-8 -*-"""Created on Thu Apr 4 09:19:06 2019@author: Administrator把m个同样的小球放在n个同样的盒子里,允许有的盒子空着不放,问共有多少种不同的分法?其中5,1,1和1,5,1 是同一种分法。算法分析:回溯算法:有2种思路,一种是确保后面的盒子中球不比前面的少,另一种是确保后面的...原创 2019-04-28 10:44:59 · 752 阅读 · 0 评论 -
2988_计算字符串距离
/* Name: 2988_计算字符串距离 Copyright: Author: Date: 26-06-18 21:32 Description: 2988_计算字符串距离查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述对于两个不同的字符串,我们有一套操作方法来把他们变得相同,具体方法为:修改一个字符(如把“a”替换为“b”)删除一个字符...原创 2018-06-26 21:46:06 · 294 阅读 · 0 评论 -
复制书稿
/* Name: 复制书稿 Copyright: Author: Date: 09-06-18 22:53 Description:复制书稿Problem Description现在要把m本有顺序的书分给k个人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一、第三和第四本书给同一个人抄写。现在请你设计一...原创 2018-06-10 21:25:22 · 477 阅读 · 0 评论 -
动态规划专题之最长上升子序列
专题四:最长上升子序列/* Name:动态规划专题之最长上升子序列 Author:巧若拙 Description:1759_最长上升子序列描述:一个数的序列bi,当b1 < b2 < ... < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2,..., aN),我们可以得到一些上升的子序列(ai1, ai2, ..., ...原创 2018-06-17 21:48:31 · 478 阅读 · 0 评论 -
6045_开餐馆
/* Name: 6045_开餐馆 Copyright: Author: Date: 24-06-18 13:39 Description:描述北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择。小明打算从中选择合适的位置开设一些餐馆。这 n 个地点排列在同一条直线上。我们用一个整数序列m1, m2, ... mn 来表示他们的相对位置。由于地段关系,开餐馆...原创 2018-06-24 15:04:28 · 292 阅读 · 0 评论 -
6049_买书
/* Name: 6049_买书 Copyright: Author: Date: 24-06-18 15:23 Description: 6049_买书描述小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。问小明有多少种买书方案?(每种书可购买多本)输入一个整数 n,代表总共钱数。(0 <= n <= 1000)输出一个整数,代表选...原创 2018-06-24 15:27:34 · 354 阅读 · 0 评论 -
动态规划专题之数塔问题
动态规划系列专题讲义 专题二:数塔问题/* Name:动态规划专题之数塔问题 Author:巧若拙 Description:7625_三角形最佳路径问题描述:如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径...原创 2018-06-16 22:17:06 · 455 阅读 · 0 评论 -
动态规划专题之最大连续子序列之和
/* Name: 动态规划专题之最大连续子序列之和 Author: 巧若拙 Description: 最大连续子序列之和 给定K个整数的序列{ N1,N2, ..., NK },其任意连续子序列可表示为{Ni, Ni+1, ..., Nj }, 其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个, 例如给定序列{...原创 2018-06-16 22:19:22 · 433 阅读 · 0 评论 -
动态规划专题之数塔问题
/* Name: 动态规划专题之数塔问题 Author: 巧若拙 Description:7625_三角形最佳路径问题描述:如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之...原创 2018-06-16 22:20:52 · 268 阅读 · 0 评论