Algorithm------动态规划--其他
OJBFOWE
望尽天涯路,不知回首。
念尽坎坷经,方得始终。
展开
-
zufe 2527问题 K: Jelly与狗头人的地下世界
zufe 2527问题 K: Jelly与狗头人的地下世界原创 2017-12-10 22:13:43 · 322 阅读 · 0 评论 -
poj 1088 滑雪
dfs+dp一下,因为序列下降保证了 dfs不会 tle ,对于 每一个点 ,直接扫即可 ,同时更新最大值;AC代码#include <iostream>#include <string.h>#include <algorithm>using namespace std;int a[110][110];int cnt[110][110];int di...原创 2018-05-29 18:52:52 · 111 阅读 · 0 评论 -
Tak and Hotels II ABC044&ARC060 (倍增)
倍增模板题;关于倍增请看:点击打开链接然后就没什么技术含量了AC代码#include <iostream>#include <string.h>#include <algorithm>#include <stdio.h>using namespace std;typedef long long ll;const int maxn=2e5+...原创 2018-05-23 20:30:11 · 255 阅读 · 0 评论 -
upc 6461: Tak and Cards
dp[i][j][k],i代表到第几个数,j代表次数,k代表数值,代表到第i个数时数值k的出现j次的方式有多少种;知道dp含义,直接上代码就行AC代码:#include <iostream>#include <string.h>#include <algorithm>#define STD std::ios::sync_with_stdio(false);...原创 2018-05-20 13:22:29 · 258 阅读 · 0 评论 -
codeforces 5C. Longest Regular Bracket Sequence(dp+栈)
题意:求出最长连续的规范括号序列,并求出长度和个数方法一:利用栈与括号特性,来一发dp,本着一个左括号与一个右括号对应,是左括号就入栈,否则寻找栈中与其相匹配的并计算距离;方法二:从左到右扫一遍,标记合法右括号,从右到左扫一遍,标记合法右括号。再对标记数组扫一遍,如果vis[i]=1;,ans++;否则ans=1;详看代码操作dp AC代码:#include <iostream>#i...原创 2018-05-09 17:51:04 · 200 阅读 · 0 评论 -
codeforces 4D D. Mysterious Present (dp||LIS)
LIS 的 限制条件变为了两个,然后记录路径倒序输出即可,注意答案为1的情况;AC代码#include <iostream>#include <algorithm>#include <string.h>using namespace std;const int maxn=1e5+10;struct point{ int w; int h; in...原创 2018-05-08 20:11:02 · 209 阅读 · 0 评论 -
poj1050 最大子矩阵
a[i][j]表示从第一行到第i行第j个数的和,然后计算p到q行之间的最大子矩阵时,将p到q行之间第j个数的和看做一个元素,求这些元素的最大连续子序列和;#include <iostream>#include <string.h>#include <algorithm>using namespace std;int a[110][110];int ma...原创 2018-02-14 17:09:42 · 165 阅读 · 0 评论 -
poj1018
题意:从m组中每组选一个,一共选m个,从m个中选一个最小的带宽,使得(最小带宽)/(价格的总和)最大(价格总和为m个已选的价格的总和);用dp[i][j],表示前i组带宽为j时所花费的最小价格j最大取400(我也不知道为什么取400,但400就够,或者卡着1S时间设一个)poj double 型用%f 输出最好,%lf可能会wa,比如说此题;#include <iostream>#i...原创 2018-02-14 12:38:42 · 192 阅读 · 0 评论 -
最大连续子序列乘积
不多说,可用动态规划解,找准转移方程,有两个,最后选一个作为最大值; 此处针对int型数据,对于浮点型,自己再做改动;#include #include using namespace std; int maxn[2020];int minn[2020];int a[2020];int min(int a,int b,int c){ int minn; minn=a<原创 2017-08-18 09:36:39 · 248 阅读 · 0 评论 -
最大连续子段和(hdu1003)
最大连续字段和原创 2017-08-18 09:54:44 · 249 阅读 · 0 评论 -
uva 10934 Dropping water balloons
uva 10934 Dropping water balloons原创 2017-11-02 10:00:28 · 202 阅读 · 0 评论 -
upc 4874 完美序列
upc 4874 完美序列原创 2017-11-27 12:42:45 · 307 阅读 · 0 评论 -
poj1157 LITTLE SHOP OF FLOWERS (简单dp)
就是简单dp....第一个自己敲了敲1A的dp,纪念一下;由于确实简单,不赘述,把第一行状态列在纸上,第二行思考一下,状态转移方程就出来了;注意一下每个花的插得花瓶范围即可,AC代码#include <iostream>#include <string.h>#include <algorithm>#include <stdio.h>using...原创 2018-06-06 17:36:57 · 208 阅读 · 0 评论