题目:假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部? 解决代码: public class Solution { /** * @param n: An integ…
标签:动态规划
【算法】动态规划算法—买卖股票的最佳时机系列(1-4)
买卖股票的最佳时机—1: 题目: 假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易,设计一个算法来找出最大利润。 解法: 该题解法和最大连续子数组和的解法思路是一样的。 1、根据…
动态规划——DNA
nkoi 1364 Description 给出1个只有A、B组成的长度为N的字符串,现在给出两种变换方式:第一种是翻转一个字母,A变成B,或B变成A;第二种是翻转字符串某个字符的前缀(包括该字符),将前缀中所有的A变成…
找出n个数组成的最长单调递增子序列( 动态规划O(nlogn) )
题目: 给出一个由n个数组成的序列x[1..n],找出它的最长单调上升子序列。即求最大的m和a1,a2……,am,使得a1<a2<……<am…
【动态规划】凑硬币
算法 推荐阅读:从动态规划新手到专家 上面是在网上看到的一篇好文章,里面有一个凑硬币的问题 如果我们有面值为1元、3元和5元的硬币若干枚,如何用最少的硬币凑够11元? (表面上这道题可以用贪心算法,但贪心算法无法保证可以…
HDU2067——小兔的棋盘(迷宫,动态规划)
Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望。不过没过几天发现了棋盘的好玩之处。从起点(0,0)走到终点(n,n)的最短路…
动态规划:正整数分组
将一堆正整数分为2组,要求2组的和相差最小。 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。 动态规划解决: 递推公式: f(i,j)= { …
【动态规划】数字三角形问题
Description 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,对于给定的由 n行数字组成的数字三角形, 计算从三角形的顶至底的路径经过的数字和的最大值。 注意:对于第i层的第j个数字,其所在路径的…
动态规划:最长公共子序列
问题描述 一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列 X={x1,x2,⋯,xm} , 则另一序列 Z={z1,z2,⋯,zk} , 是X的子序列是指存在一个严格递增下标序列 {i1,…
动态规划中的单调队列优化
最近经常出现单调队列,斜率优化的题目。看到周围的大神们都会做了,我只能跟上去。 要慢慢来,先学单调队列。 什么类型的DP需要用到常规的单调队列? 类似这样的转移方程可以用到单调队列: f[i]=max(g[j])+w[i…
poj 1636 动态规划
【题意】 有两个监狱,每个监狱里面有n个囚犯,现在希望交换n/2对囚犯。但是考虑有一些原本在不同监狱的囚犯对在一起是很危险的,所以希望经过交换后他们还是不在一个监狱里面。那么如果保证这个条件,希望尽可能多的交换囚犯。 【…
整数划分总结(动态规划)
先引入一个比较实际的问题:分苹果 题目 M个相同苹果放到N个相同篮子里有多少种放法,允许有篮子不放。 1<=M<=10,1<=N<=10 例如5个苹果三个篮子,3,1,1 和 1,1,3是同一种放…