dp
文章平均质量分 74
moon_NO2015
Beyong the river!
展开
-
UVALive 7061 Dire Wolf (dp)(The 2014 ACM-ICPC Asia Beijing Regional Contest D)
该题就是求最小花费,但不是网络流,是区间DP,算起来因该是区间DP中比较简单的那种了。我们用dp[i][j]表示在区间[i,j]的最小花费,则它的转移状态为:for(int k=i;k<=j;k++){ dp[i][j]=min(dp[i][j],dp[i][k-1]+dp[k+1][j]+a[k]+b[j+1]+b[i-1]);}转移方程就这一个,注意下边界条件,和初始化原创 2015-08-25 11:06:05 · 827 阅读 · 0 评论 -
hdu 5396 Expression (dp+组合数学)
dp[i][j]表示[i,j]区间的和值。#include#include#include#include#include#include#include#include#include#includeusing namespace std;#pragma comment(linker, "/STACK:1024000000,1024000000")#define nn原创 2015-08-21 10:36:40 · 348 阅读 · 0 评论 -
hdu5653 Bomber Man wants to bomb an Array.
问题描述:给一个长度为 N 的一维格子和一些炸弹的位置,请你计算 “最大总破坏指数”。每个炸弹都有向左和向右的破坏力,如果一个炸弹向左和向右的破坏力分别为 L和R,那么该炸弹将炸毁 L+R+1个格子(左边L个,炸弹所在格子,右边R个)。破坏指数的计算方式为:所有炸弹炸毁的格子数的乘积。假设第i个炸弹炸毁了Xi个格子,那么总破坏指数就是 X1∗X2∗....Xm。原创 2016-03-27 19:23:54 · 427 阅读 · 0 评论 -
HDU 5834 Magic boy Bi Luo with his excited tree
题意:问从每个节点出发,能获得的最大价值。做法:树形DP。思路:用两个DFS。第一个DFS维护出,每个节点,从它的所有子节点返回该点能得到的最大价值(subtree_max_back),它的一个子节点不返回该点可以得到的最大价值(subtree_max_nback)和次大值(subtree_submax_nback),以及不返回的最大价值是当那个点不返回时得到的(subtree_max原创 2016-08-15 17:05:55 · 566 阅读 · 0 评论 -
HDU 4778 Gems Fight!
题意:就是有G种颜色,B个背包,每个背包有n个宝石,颜色分别为c1,c2...........。两个人轮流取背包放到公共容器里面,容器里面有s个相同颜色宝石的时候,这s个相同颜色的宝石会融合成一个魔法石。当选手选择一个背包放到公共容器里会产生魔法石,魔法石就归这个选手所有,并且奖励这个选手再选一个背包,直到不再产生魔法石为止。(每个背包只能选取一次)每个选手会尽量使自己得到的魔法石最多,问最后先手原创 2016-11-24 14:11:31 · 435 阅读 · 0 评论