
DP
alpc_wt
a star in the making
展开
-
hdu 5115 Dire Wolf 恐狼先锋
题目含义:有200头狼站成一排,每一头狼有一个自身攻击力a[i],和一个buff(使得左右攻击力提升b[i]),决定一个杀死狼的顺序,使得自身受到伤害值最小。恐狼先锋!!!!合并类DP,f[i,j]代表消灭【i,j】区间内的最小消耗,f[i,j] = f[i,k-1] + f[k+1,j] + a[k] + b[i-1] + b[j+1]; //k为枚举的【i,j】区间内最后杀死的狼原创 2014-11-30 09:43:40 · 870 阅读 · 0 评论 -
2015湖南省赛A题 BZOJ4254 Aerial Tramway 树形dp
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=4254题意:按照规则选m条线段,使得不超过k限制,得到权值和最大。题解:按照给定的规则,一条合法的线段下面必须全部低于此线段,也就是每一个线段一定被某个线段的完全覆盖,且不会出现线段非重合相交的情况。故所有的线段依据覆盖关系可形成一个森林,创建虚拟节点0,使得构建一棵树。然后就是树形dp原创 2015-09-04 11:15:47 · 866 阅读 · 0 评论 -
hdu5293 Tree chain problem 树形dp+线段树
题目:http://acm.hdu.edu.cn/showproblem.php?pid=5293在一棵树中,给出若干条链和链的权值,求选取不相交的链使得权值和最大。比赛的时候以为是树链剖分就果断没去想,其实是没思路。看了题解,原来是树形dp,话说多校第一场树形dp还真多。。。。维护d[i],表示以i为根节点的子树的最优答案。sum[i]表示i的儿子节点(只能是原创 2015-07-22 10:38:56 · 1601 阅读 · 1 评论 -
hdu5304 Eastest Magical Day Seep Group's Summer 状压dp+生成树
题目:http://acm.hdu.edu.cn/showproblem.php?pid=530416个点的无向图,问能生成多少个n条边的连通图。(即多一条边的树)先n^3 * 2^n 枚举所有的环,状压dp就行。dp[i][j]表示以i为终点,走了j状态集合的方案数。要枚举起点,每次走比起点大的点。所以要n^3 2^n枚举。把环压缩成点,构造基尔霍夫矩阵,每种状态下n原创 2015-07-26 10:21:40 · 1382 阅读 · 0 评论 -
2014 Shanghai Regional Room Assignment (DP)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5155题意:有n个颜色的球,其中有k对球颜色相同,别的都是完全不同的。给m个盒子,每个盒子的容量为c[i],有sum{c[i]}=n。问:有多少种姿势可以把n个球全部放入原创 2015-05-18 00:39:26 · 960 阅读 · 0 评论 -
hdu4081 Qin Shi Huang's National Road System PRIM+dp
代码1:#include#include#include#include#includeusing namespace std;const int N = 1000 + 10;const double INF = 1.0*1e8;struct point{ double x,y; double val;}p[N];double get_dis(point原创 2015-04-03 10:32:57 · 463 阅读 · 0 评论 -
csu1527Bounty Hunter (DP)
题意:从1走到n,再从n走回1,除1和n外,每个点只走一次。去的时候,点走升序;回的时候走降序。问走的最短距离?题解:我们可以视为从1走到n,走两次,每次延标号升序列走,且不重复走点。dp[i][j]表示从1出发,走双线程,走到j点(默认j>i,已走完1到j的所有点)的最小消耗则 dp[i][j+1] = min(dp[i],[j+1] , dp[i][j]+dis(j,j+1) )原创 2015-03-22 14:02:50 · 1070 阅读 · 0 评论 -
hdu5188 zhx and contest (DP+map)
有限制的 0/1背包#include#include#include#include#includeusing namespace std;const int N = 30+5;typedef long long ll;map dp[3];map::iterator it;struct node{ int l,t,v;}p[N];int cmp(node a,原创 2015-03-20 09:35:45 · 405 阅读 · 0 评论 -
hdu4126 Genghis Khan the Conqueror Prim + 树形dp
最小生成树Prim树形dp原创 2015-03-07 11:37:39 · 594 阅读 · 0 评论 -
hdu5179 beautiful number
hdu5179 beautiful number原创 2015-03-03 15:43:09 · 1254 阅读 · 0 评论 -
hdu3652 && hdu 4722 && hdu3555
数位dp原创 2015-03-03 21:03:41 · 655 阅读 · 0 评论 -
Tyvj P1011 传纸条
描述小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n)。从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小渊的纸原创 2015-01-01 15:47:09 · 918 阅读 · 0 评论 -
HDU 5151Sit sit sit
一道区间DP题,某次BestCoder的B题,想了很久没想出来。题目描述:一共有并排N个椅子, N个学生依次去坐,同时满足3个条件就不能坐下去:1,该椅子不在最左,不在最右,2,该椅子左右都有人坐了,3,左右的椅子不同颜色求最后N个人都能坐下去,有多少不同的情况.题解:dp[i][j]表示排完区间[i,j]的种类数,(看别人题解时没想明白,人是按顺序先后决定坐的位置,即在区间[i,j]原创 2014-12-31 10:27:35 · 1160 阅读 · 0 评论 -
HDU 5155 Harry And Magic Box
问题描述有一天,哈利得到了一个神奇的盒子。这个盒子由n*m个格子组成,有一些格子里会有闪闪发光的宝石。但是盒子的顶部和底部都被神奇的魔法封印着,所以哈利没办法从顶部和底部看到盒子的内部。然而,盒子的四边都是透明的,哈利可以从盒子的四边看到里面的情况。哈利发现,这个神奇的盒子,从左边看过去,每一行都闪烁着光芒,从前面看过去,每一列也都闪烁着光芒。哈利想知道,盒子里的宝石有多少种分布情况。答案有可原创 2015-01-10 12:40:25 · 700 阅读 · 0 评论 -
Codeforces Round #260 (Div. 1) B. A Lot of Games Trie + 博弈
题意:两个人在Trie树上博弈k局,当前局输的人在下一局中执先手。在一局博弈中,当一个人不能走时,判定另一个人赢。最后一局的结果作为整个游戏的结果。分析:先手赢的情况为:(1)先手可必胜,也 可败。那么前k-1局败,最后一局胜利即可。(2)先手只能必胜。 当k为奇数时获胜。 后手赢的情况为:(1)先手必败。(2)先手只能必胜。 k为偶数。(本题的状态为取完当前节点的原创 2015-09-22 18:21:03 · 723 阅读 · 1 评论