
区间dp
yxg_123
这个作者很懒,什么都没留下…
展开
-
hdu 4597 Play Game 区间dp
点击打开链接题意:有两排数,AB依次拿,每次只能从第一/二排最左边和最右边拿问你A拿的和是多少,假设两个人都是很聪明的思路:http://blog.youkuaiyun.com/shuangde800/article/details/10277697出现聪明这个词的时候,这种题不是博弈论就是dp吧dp[x][y][i][j]表示当前玩家从a堆的x原创 2017-02-20 19:55:33 · 443 阅读 · 0 评论 -
cdoj 1131 男神的礼物 区间dp
点击打开链接思路: 区间dp,类似于石子合并的问题,每次枚举合并的点就好了代码:#include using namespace std;typedef long long ll;ll dp[105][105],sum[105];int main(){ int T; cin>>T; while(T--){ int n; cin>>n; memset(dp,0,s原创 2017-02-20 22:29:08 · 257 阅读 · 0 评论 -
hdu 5273 Dylans loves sequence 逆序数 区间dp
点击打开链接题意:给n个数,q次询问,(L,R)区间内的逆序数。思路: 区间dp代码一:#include using namespace std;typedef long long ll;const int maxn = 1e3+10;const int INF = 0x3f3f3f3f;const ll INFLL = 0x3f3f3f3f3f3f3f3fLL;原创 2017-02-21 20:32:42 · 374 阅读 · 0 评论 -
hdu4283 You Are the One 区间DP
点击打开链接题意:有一个队列,每个人有一个愤怒值D,如果他是第K个上场,不开心指数就为(K-1)*D。但是边上有一个小黑屋(其实就是个堆栈),可以一定程度上调整上场程序思路:区间DP,dp[i][j]表示从第i个人到第j个人这段区间的最小花费(是只考虑这j-i+1个人,不需要考虑前面有多少人)那么对于dp[i][j]的第i个人,就有可能第1个上场,也可以第j-i+1原创 2017-02-22 01:52:03 · 190 阅读 · 0 评论 -
URAL 1776 C - Anniversary Firework 区间DP
点击打开链接题意:要把1-n个火箭都点火,其中每次点火间隔10s.点火步骤:1、首先点燃第一个和最后一个2、点燃任意两个已点火箭的中间一个。注意可以有多个区间,每次可以同时点燃多个。求点燃所有火箭的时间的期望。思路:首先,期望取最大值这个是错误的这个dp[i][j]应该表示长度为i的,放j个火箭的概率是多少直接dfs解决就好了 【dalao专用原创 2017-02-22 14:19:41 · 429 阅读 · 0 评论 -
挑战2.7.3 Round 1C 2009 C. Bribe the Prisoners 区间dp
题目链接:https://code.google.com/codejam/contest/189252/dashboard#s=p2题意:题解:区间dp dp[i][j] 表示释放a[i]~a[j] 【不包含两端的囚犯】所需要的最小费用 枚举其中最先释放的最小费用 则 dp[i][j] = min(dp[i][j],dp[i][k]+dp[k][j]) {i+1<=k<=j-1}代码:#inc原创 2017-03-09 12:35:55 · 240 阅读 · 0 评论 -
挑战练习题2.3动态规划 poj3280Cheapest Palindrome 区间dp
题目链接:http://poj.org/problem?id=3280题意:字串S长M,由N个小写字母构成。欲通过增删字母将其变为回文串,增删特定字母花费不同,求最小花费。题解:dp[i][j]表示将原字串s的子字串s[i…j]变换成回文的最小花费 因为删除和增加一个字符都是一样的效果,取最小值就好了代码:#include <iostream>#include <cstdio>#include原创 2017-03-10 11:23:39 · 237 阅读 · 0 评论 -
紫书动规 例题9-9 UVA - 10003 Cutting Sticks 区间dp
题目链接:https://vjudge.net/problem/UVA-10003题意:题解:dp[i][j]:=切割小木棍i~j的最优费用,枚举中间切割点,这段的费用是该段的长度 d[i][j] = min(d[i][j],dp(i,k)+dp(k,j)+a[j]-a[i]);代码:#include <bits/stdc++.h>using namespace std;typedef lon原创 2017-03-16 18:14:54 · 215 阅读 · 0 评论 -
紫书动规 例题9-10 UVA - 1626 Brackets sequence 区间dp
题目链接:https://vjudge.net/problem/UVA-1626题意:题解:dp[i][j]:= i~j需要最少的括号 区间dp: dp[i][j] = min(dp[i][j],dp[i][k]+dp[k+1][j]); (i<=k代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;#de原创 2017-03-16 19:24:48 · 265 阅读 · 0 评论