动态规划
文章平均质量分 93
动态规划算法
红烧肘子肉
我是一个程序员
展开
-
DFS&BFS及其优化
DFS&BFS及其优化 简介及声明 本文所涉及的DFS/BFS仅指指数级以上复杂度的暴搜,不包括图和网格上O(n)O(n)O(n)级别的搜索! Part 1:DFS 例题1:[FAIOJ1220]字符序列 直接暴力搜索每个位置填A,B,CA,B,CA,B,C,对于以最后一位为末尾的子串检查其前面是否冲突即可。复杂度O(3n)O(3^n)O(3n)。 例题2:[FAIOJ1224]最佳调度问题 如果直接枚举每个任务在每个机器上完成,复杂度将会达到O(kn)O(k^n)O(kn),代入数据范围得到520原创 2021-07-27 18:42:35 · 706 阅读 · 0 评论 -
动态规划整理
例题1 组成平方数 题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 输入输出描述 输入描述 一个整数n,表示要组成的数字 输出描述 一个正数表示最少需要几个完全平方数才能组成 输入输出样例 输入格式#1: 4 输出格式#1: 1 输入格式#2: 10 输出格式#2: 2 输入格式#3: 19 输出格式#3: 3 输入格式#4: 245 输出格式#4: 2 输入格式#5: 328原创 2021-02-16 20:00:26 · 146 阅读 · 0 评论 -
2020-10-19
#1 新手村 关卡1-1 洛谷的第一个任务 超级玛丽游戏(洛谷-P1000):点击这里 A+B Problem(洛谷-P1001):点击这里 小玉买文具(洛谷-P1421):点击这里 小鱼的游泳时间(洛谷-P1425):点击这里 关卡1-2 顺序与分支 小玉家的电费(洛谷-P1422):点击这里 不高兴的津津(洛谷-P1085):点击这里 津津的储蓄计划(洛谷-P1089):点击这里 买铅笔(洛谷-P1909):点击这里 关卡1-3 循环!循环!循环! 三连击(洛谷-P1008)...原创 2020-10-19 22:05:25 · 576 阅读 · 0 评论 -
漫画:什么是动态规划?(整合版)
———————————— 题目: 有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。 比如,每次走1级台阶,一共走10步,这是其中一种走法。我们可以简写成 1,1,1,1,1,1,1,1,1,1。 再比如,每次走2级台阶,一共走5步,这是另一种走法。我们可以简写成 2,2,2,2...原创 2020-10-05 21:40:50 · 140 阅读 · 0 评论 -
教你彻底学会动态规划——进阶篇
在我的上一篇文章中已经详细讲解了动态规划的原理和如何使用动态规划解题。本篇文章,我将继续通过例子来让大家更加熟练地使用动态规划算法。 话不多说,来看如下例题,也是在动态规划里面遇到过的最频繁的一个题,本题依然来自于北大POJ: 最长公共子序列(POJ1458) 给出两个字符串,求出这样的一个最长的公共子序列的长度:子序列中的每个字符都能在两个原串中找到, 而且每个字符的先后顺序和原串中的先后顺序一致。 Sample Input abcfbc abfcab ...原创 2020-10-05 21:35:26 · 132 阅读 · 0 评论 -
教你彻底学会动态规划——基础篇
动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动态规划其实并没有想象中那么难。网上也有很多关于讲解动态规划的文章,大多都是叙述概念,讲解原理,让人觉得晦涩难懂,即使一时间看懂了,发现当自己做题的时候又会觉得无所适从。我觉得,理解算法最重要的还是在于练习,只有通过自己练习,才可以更快地提升。话不多说,接下来,下面我就通过一个例子来一步一步讲解动态规划是怎样使用的,只有知道怎样使用,才能更好地理解,而不是一味地对概念和原理进行反复琢磨。原创 2020-10-05 21:33:28 · 152 阅读 · 0 评论 -
day1
day1 DS1 堆 堆是一棵树,其每个节点都有一个键值,且每个节点的键值都大于等于/小于等于其父亲的键值。 每个节点的键值都大于等于其父亲键值的堆叫做小根堆,否则叫做大根堆。STL 中的 priority_queue 默认是一个大根堆。 堆的操作 所有堆都(高效地)支持:插入一个数(push)、查询最小/最大值(top)、删除最小/最大值(pop)。 有一些堆(高效地)支持:合并两个堆(merge)、减小一个元素的值、…… 堆的时间复杂度 不同的堆在执行不同的操作时时间复杂度各不相同,这里只介绍二叉堆(普原创 2020-08-25 08:04:17 · 161 阅读 · 0 评论 -
树形DP
树形DP原创 2020-04-15 22:28:00 · 185 阅读 · 0 评论 -
最长上升子序列
最长上升子序列 题目描述: 给定一个长度为 N 的数列,求它数值单调递增的子序列长度最大为多少。即已知有数列 A , A=A1,A2…An ,求 A的任意子序列 B ( B=Ak1,Ak2…Akp ),使 B 满足 k1<k2<…<kp且 Ak1<Ak2<…<Akp 。现求 p 的最大值。 输入格式 共二行。 第一行是一个整数N 第二行有n个整数 输出格式 ...原创 2020-03-15 20:37:17 · 202 阅读 · 0 评论 -
旅行家的预算
题目描述 一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1、汽车油箱的容量C(以升为单位)、每升汽油能行驶的距离D2、出发点每升汽油价格P和沿途油站数N(N可以为零),油站i离出发点的距离Di、每升汽油价格Pi(i=1,2,…,N)。计算结果四舍五入至小数点后两位。如果无法到达目的地,则输出“No Solution”。 输入格式 第一...原创 2020-02-10 12:57:10 · 580 阅读 · 0 评论 -
传球游戏
题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏。这次,老师带着同学们一起做传球游戏。 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同学可以把球传给自己左右的两个同学中的一个(左右任意),当老师再次吹哨子时,传球停止,此时,拿着球没有传出去的那个同学就是败者,要给大家表演一个节目。 聪明的小蛮提出一个有趣的问题:有多少种不同的...原创 2020-02-06 15:42:01 · 322 阅读 · 0 评论 -
旅行计划
目录 题目描述 输入格式 输出格式 输入输出样例 说明/提示 图片解释 代码 题目描述 小明要去一个国家旅游。这个国家有#N个城市,编号为1至N,并且有M条道路连接着,小明准备从其中一个城市出发,并只往东走到城市i停止。 所以他就需要选择最先到达的城市,并制定一条路线以城市i为终点,使得线路上除了第一个城市,每个城市都在路线前一个城市东...原创 2020-02-04 10:23:28 · 296 阅读 · 0 评论 -
回文子序列
回文子序列 欢迎观看原创 2020-02-01 14:50:51 · 716 阅读 · 0 评论 -
动态规划整理,特详细!!!!!!!!!!
动态规划整理,特详细!!!!!!!!!! 动态规划整理,特详细!!!!!!!!!! 动态规划整理,特详细!!!!!!!!!! 欢迎查看!!!!!!!!!! 欢迎查看!!!!!!!!!! 欢迎查看!!!!!!!!!!原创 2020-01-29 10:52:20 · 442 阅读 · 8 评论 -
组成平方数
题目描述 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 输入输出描述 输入描述 一个整数n,表示要组成的数字 输出描述 一个正数表示最少需要几个完全平方数才能组成 输入输出样例 输入格式#1:4 输出格式#1:1 输入格式#2:10 输出格式#2:2 输...原创 2019-07-25 19:31:38 · 509 阅读 · 0 评论 -
最大的连续子序列
题目描述 给定一个整形数组nums,找出一个序列中乘积最大的连续子序列该序列至少包含一个数。 输入输出描述 输入描述 共两行: 第一行,一个整形数据n,表示数据个数, 第二行有n个数据表示数据mum s。 输出描述 输出找到最大的连续子序列 输入输出格式 输入格式#1 输入格式#1 5 1 2 3 4 5 ...原创 2019-07-16 19:19:23 · 206 阅读 · 0 评论 -
三种背包一点通
三种背包代码,欢迎大家观看!原创 2019-08-31 20:30:16 · 172 阅读 · 0 评论