
动态规划
Helloirbd
1
展开
-
动态规划------学习笔记
递归函数有n个参数,就定义一个n维的数组数组的下标是递归函数参数的取值范围数组元素的值是递归函数的返回值这样就可以从边界值开始,逐步填充数组相当于计算递归函数值的逆过程动归解题的一般思路1.将原问题分解为子问题子问题和原问题形式相同或类似,只不过规模变小了,子问题解决,原问题即解决子问题一旦求出就会被保存,所以每个子问题只需解一次2.确定状态一个状态对应一个或多个子...原创 2019-02-01 17:02:22 · 403 阅读 · 0 评论 -
背包问题(动态规划基础)
01背包问题dp[i][j]表示的是要存放第i个物品时,背包此时的容量为j,背包内物品的总价值weight表示物品占据背包的体积dp[i][j]=(dp[i-1][j],dp[i-1][j-weight[i]]+value[i]);//状态转移方程我们之前看的关于dp的问题,对于每一个元素的处理方法就是选和不选我们的状态转移方程也是根据这个得出的01背包问题动态规划模板:...原创 2019-02-02 14:43:45 · 224 阅读 · 0 评论 -
HDU-1003 Max Sum (动态规划)
题目链接:Max SumMax SumTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 311655Accepted Submission(s): 74063Problem DescriptionGiven a s...原创 2019-01-31 11:13:42 · 180 阅读 · 0 评论 -
历届试题 对局匹配 (动态规划)
问题描述 小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。 小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两人分差小于或大于K,系统都不会将他们匹配。 现在小明知道这个网站总共有N名用户,以及他们的积分分别是A1, A2, ... AN。 小明想了解最多可能有多少名用户同时在线寻找对手,但是系...原创 2019-03-01 23:08:07 · 1059 阅读 · 0 评论 -
历届试题 波动数列 (动态规划)
问题描述 观察这个数列: 1 3 0 2 -1 1 -2 ... 这个数列中后一项总是比前一项增加2或者减少3。 栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢?输入格式 输入的第一行包含四个整数 n s a b,含义如前面说述。输出格式 输出一行,包含一个整数,表示满足条件的方案数。由于这...原创 2019-03-12 22:42:38 · 319 阅读 · 0 评论 -
Openjudge 1088:滑雪
int se(int x,int y){ int tx,ty,te,tt; if(p[x][y]>0) return p[x][y];//p[x][y]>0说明之前已经算过直接返回该值(注:去掉这句话只得1分) tt=1; for(int i=0;i<4;i++)//进行四个方向的搜索 { ...转载 2018-12-09 00:23:39 · 212 阅读 · 0 评论 -
算法笔记 11.2 最大连续子序列和 A1007
从一堆数中截取一段数,使这一段数的和最小。若有多段数的和相同,输出最先遇到的那一段。1007Maximum Subsequence Sum(25 分)Given a sequence ofKintegers {N1,N2, ...,NK}. A continuous subsequence is defined to be {Ni,Ni+1...原创 2019-03-21 22:09:37 · 222 阅读 · 0 评论 -
Openjudge 2755:神奇的口袋
题目链接:bailian.openjudge.cn/practice/2755/我们来分析一下题目,从k种物品中选出几个,每种只能选出一个,看能有多少种填法能将背包填满。我先说用递归的写法,首先传给递归函数两个参数,一个是口袋的空间,一个是还有多少个物品可以选择。从第k个开始选择,然后填入口袋。但是第k-1个物品不想填该怎么操作?下面贴出代码#include<i...原创 2019-01-06 16:47:14 · 330 阅读 · 0 评论