动态规划
是Elie呀
人生苦短,莫忘初衷;凡事相信,凡事期待。认真做事,认真做人!翁恺老师寄语:“其实学习终归是一件痛苦的事情,所以呢面对学习你还是得要认真,用功,努力地去学习。享受的是什么?是学习之后获得的那种成就,快乐是从成就中来的。”
展开
-
1299最长上升子序列
最长上升子序列Problem Description 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1<= i1 < i2 < … < iK <= N。比如,对于序列(1, 7,...原创 2017-07-26 15:50:33 · 284 阅读 · 0 评论 -
(简单dp)hdu1466 计算直线的交点数
题目链接:(简单dp)hdu1466 计算直线的交点数Problem Description平面上有n条直线,且无三线共点,问这些直线能有多少种不同交点数。比如,如果n=2,则可能的交点数量为0(平行)或者1(不平行)。Input输入数据包含多个测试实例,每个测试实例占一行,每行包含一个正整数n(n<=20),n表示直线的数量.Output每个测试实例对应一行输出,...原创 2019-03-09 14:58:03 · 178 阅读 · 0 评论 -
(组合数或dp)51nod 1118 机器人走方格
传送门:51nod 1118 机器人走方格 题解:机器人只能向右和向下走,所以 path[i][j]=(path[i-1][j]+path[i][j-1])。组合数正在学习使用中,,,,日后补上#include<cstdio>#include<iostream>using namespace std;typedef long long ll;...原创 2018-10-30 17:29:23 · 165 阅读 · 0 评论 -
百练4124 海贼王之伟大航路
传送门:百练4124 海贼王之伟大航路#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=20;int mp[maxn][maxn];int dp[(1<<max...原创 2018-09-05 21:44:45 · 221 阅读 · 0 评论 -
(状压dp)ACM-ICPC 2018 南京赛区网络预赛 E题.AC Challenge
传送门:E题.AC Challenge题意:有 n 个问题(0<n≤20 ),解决一个问题花费 1 分钟,但解决问题 i 时,必须已经解决问题p1,p2, ... ,psi(记为问题 i 的前驱问题)。当问题 i 是你解决的第 t 个问题(在第 t 分钟)时,总分加上 ai*t+bi。求总分的最大值。题解:考虑到n较小,可以采取状态压缩来表示问题的状态。例如,二进制数0100表...原创 2018-09-08 09:21:38 · 156 阅读 · 0 评论 -
(DP)POJ1390 Blocks
传送门:(DP)POJ1390 BlocksDP看不下去了,先附上郭炜老师的代码#include<iostream>#include<cstring>using namespace std;const int M=210;struct Segment{ int color; int len;};Segment segments[M];...原创 2018-08-13 17:09:56 · 196 阅读 · 0 评论 -
(DP)百练1088:滑雪
百练1088:滑雪描述Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 23 2...原创 2018-08-13 15:23:24 · 199 阅读 · 0 评论 -
P51 挑战程序设计——0-1背包问题
0-1背包问题:下面的递推关于i的循环是逆向进行的。反之,如果将d[i+1][j]定义成从0到i这i+1个物品中选出总重量不超过j的物品时总价值的最大值的话,关于i的循环就能正向进行。普通搜索:#include<iostream>#include<cmath>using namespace std;int n,w;int w1[110],v[110];...原创 2018-08-13 14:43:18 · 282 阅读 · 0 评论 -
(0-1背包问题)POJ3624 Charm Bracelet
传送门:POJ3624 Charm BraceletP51 挑战程序设计——0-1背包问题引述郭炜老师课件中的话如下:0-1背包问题:有N件物品和一个容积为M的背包。第i件物品的体积w[i],价值是d[i]。求解将哪些物品可使价值总和最大。每件物品只有一件,可以选择放或者不放。(N<=3500,M<=13000).用F[i][j]表示取前i种物品,使它们总体积不超过j...原创 2018-08-12 16:34:54 · 251 阅读 · 0 评论 -
2755:神奇的口袋
传送门:2755:神奇的口袋描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入输入的第一行是正...原创 2018-08-11 12:19:53 · 250 阅读 · 0 评论 -
(注意大数模拟)最佳加法表达式
传送门:最佳加法表达式11:最佳加法表达式描述给定n个1到9的数字,要求在数字之间摆放m个加号(加号两边必须有数字),使得所得到的加法表达式的值最小,并输出该值。例如,在1234中摆放1个加号,最好的摆法就是12+34,和为36输入有不超过15组数据每组数据两行。第一行是整数m,表示有m个加号要放( 0<=m<=50)第二行是若干个数字。数字总数n不超过50,且...原创 2018-08-11 12:13:17 · 622 阅读 · 1 评论 -
动态规划入门
引例:楼梯有n个台阶,上楼可以一步上1阶,也可以一步2阶,一共有多少种上楼的方法?解:f(1)=1, f(2)=2, f(n)=f(n-1)+f(n-2). 1.记忆化数组——避免重复计算; 2.递归定义——>递归公式 思路:先走一步,看剩下的。 递推公式: 初值:递归出口; ...原创 2018-08-10 19:52:16 · 120 阅读 · 0 评论 -
动态规划解题总览
来源于大佬,如有侵权,速删。原创 2018-02-27 14:29:15 · 129 阅读 · 0 评论 -
1730 数字三角形问题
Problem Description给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的路径经过的数字和的最大值。Input输入数据的第1行是数字三角形的行数n,1≤n≤100。接下来n行是数字三角形各行中的数字。所有数字在0..99之间。Output输出数据只...原创 2018-02-26 21:43:19 · 482 阅读 · 0 评论 -
2171上升子序列
上升子序列Problem Description 一个只包含非负整数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列{a1, a2, …,aN},我们可以得到一些上升的子序列{ai1, ai2, …, aiK},这里1 ≤ i1 < i2 <…< iK ≤ N。例如:对于序列{1, 7, 3, 5, 9, 4, 8},有它的一些上升子序列,如{1,原创 2017-07-26 14:51:07 · 237 阅读 · 0 评论 -
2080最长公共子序列问题
最长公共子序列问题Problem Description 给定两个序列X=Input 输入数据有多组,每组有两行 ,每行为一个长度不超过500的字符串(输入全是大写英文字母(A,Z)),表示序列X和Y。 Output 每组输出一行,表示所求得的最长公共子序列的长度,若不存在公共子序列,则输出0。Example InputABCBDABBD...原创 2017-07-27 14:52:58 · 444 阅读 · 0 评论 -
(dp)hdu2059 龟兔赛跑
hdu2059 龟兔赛跑Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 24504Accepted Submission(s): 8972Problem Description据说在很久很久以前,可怜的兔子经历了人生中...原创 2019-03-10 10:12:44 · 113 阅读 · 0 评论