DP
文章平均质量分 76
shinimashzi
这个作者很懒,什么都没留下…
展开
-
递推求解专题训练
想要dp入门,感觉自己需要先写几题递推…..hdu2044 2045 2046 2047 2048 2049 2050 //真正意义上第一题递推 hdu2044 传送门 题目: 有一只经过训练的蜜蜂只能爬向右侧相邻的蜂房,不能反向爬行。请编程计算蜜蜂从蜂房a爬到蜂房b的可能路线数。 其中,蜂房的结构如下所示。 Input 输入数据的第一行是一个整数N,表示测试实例的个数,然后是N原创 2017-04-18 21:13:01 · 277 阅读 · 0 评论 -
HDU - 1024 Max Sum Plus Plus (DP)
题目:Now I think you have got an AC in Ignatius.L’s “Max Sum” problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are faced with a more difficult problem. Give原创 2017-05-09 19:42:31 · 187 阅读 · 0 评论 -
HDU - 2859 Phalanx (DP)
题目: Today is army day, but the servicemen are busy with the phalanx for the celebration of the 60th anniversary of the PRC. A phalanx is a matrix of size n*n, each element is a character (a~z or A~Z原创 2017-05-09 20:11:20 · 229 阅读 · 0 评论 -
【dp每一天】HDU - 1520 Anniversary party(树形dp入门)
给自己立个flag吧,每天晚上回来想个dp。hdu - 1520题目大意:给你一棵树,树上的父节点和子结点不能同时选,问这棵树可以选的权值最大和。树形dp,用子节点的值来更新父节点。有dp[i][0] = sum(max(dp[j][0],dp[j][1])); i->j;dp[i][1] = sum(dp[j][0]) + d[i]; i->j;这个因为自己智障还re原创 2017-06-28 23:49:26 · 277 阅读 · 0 评论 -
【dp每一天】HDU - 2084 数塔(水dp)
...感觉这篇像凑数一样.....不过这个在算法课上讲的时候我也没实现过,正好这次写了写。HDU - 2084#include #include #include using namespace std;int d[110][110];int dp[110][110];int main(){ int t,n; scanf("%d",&t);原创 2017-06-29 23:34:46 · 184 阅读 · 0 评论 -
【dp每一天】POJ - 1463 Strategic game (树形dp)
POJ - 1463题意: 全部边覆盖,所加的士兵的最小值,递推式可直接看代码。说起来边覆盖感觉好像。。二分图?#include #include #include #include using namespace std;const int maxn = 1600;struct node{ int to,next; node(){} node(in原创 2017-07-04 00:05:15 · 179 阅读 · 0 评论 -
【dp每一天】 POJ - 3140 Contestants Division (树形dp)
这个故事告诉我们 long long的abs需要自己写:)#include #include #include #include using namespace std;#define ll long longconst int inf = 0x3f3f3f3f;const int maxn = 1e5+20, maxe = 1e6+10;int n,m;struct no原创 2017-07-04 23:59:31 · 204 阅读 · 0 评论 -
【dp每一天】POJ - 1655 Balancing Act(说是树形dp其实就是模拟?)
POJ - 1655题意:求树的结点种去掉点后形成的森林的结点的最大值中的最小值。思路:讲道理,我感觉这是模拟.....和昨天那道题很像。因为去掉结点,自己的子树肯定是分开的,所以对于u而言,它的balance就是max(sum[v],n-sum[u]); v是u的各个子树的结点数量。#include #include #include #include using name原创 2017-07-05 23:38:22 · 168 阅读 · 0 评论 -
【dp每一天】POJ - 3107 Godfather (树形dp)
额这题也挺水的。题意:找树上满足去掉它之后,剩余连通的结点块中最大的那一块最小的结点们。思路:有 dp[u] = max(sum[v], n - sum[u]); v是u的子结点代码:#include #include #include #include using namespace std;const int maxn = 5e4 + 10,maxe = maxn原创 2017-07-07 23:34:11 · 189 阅读 · 0 评论 -
BZOJ - 1864 三色二叉树 (树形dp)
BZOJ - 1864中文题题意不解释~还是比较基础的树形dp~思路: 每个父亲节点还是由子节点推过来的,所以只需要统计子节点的状态就可以了,用dpa[i][j]来表示涂绿,蓝和啥的时候最多有几个节点是绿色的,dpi则是表示最少有几个节点是绿色的。#include #include #include #include using namespace std;const i原创 2017-07-14 18:40:27 · 232 阅读 · 0 评论 -
POJ - 1661 Help Jimmy DP
题目:“Help Jimmy” 是在下图所示的场景上完成的游戏。 场景中包括多个长度和高度各不相同的平台。地面是最低的平台,高度为零,长度无限。 Jimmy老鼠在时刻0从高于所有平台的某处开始下落,它的下落速度始终为1米/秒。当Jimmy落到某个平台上时,游戏者选择让它向左还是向右跑,它跑动的速度也是1米/秒。当Jimmy跑到平台的边缘时,开始继续下落。Jimmy每次下落的高度不能超过MAX米,原创 2017-05-06 16:36:56 · 233 阅读 · 0 评论 -
HDU - 1114 Piggy-Bank 完全背包
题目大意: 有一个存储罐,告诉你装满和空的重量。然后告诉你k种钱币,每种钱币的重量和对应价值,不可分。问装满这个存储罐的最小的价值是多少。思路: 参考背包九讲。 完全背包,而且有限制,可以把dp[0]设为0,其余都是inf,若是最后dp[b-a] == inf,说明没法装满。 其实就代码来看,完全背包和01背包唯一的区别就是枚举j的顺序。 01背包的顺序是因为在选到第i件事时,dp[j]的原创 2017-05-06 09:41:01 · 195 阅读 · 0 评论 -
HDU 1003 Max Sum
简单dp入门 其实感觉这题贪心可写,分治可写题目: Problem Description Given a sequence a[1],a[2],a[3]……a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this seq原创 2017-04-24 17:26:56 · 213 阅读 · 0 评论 -
HDU - 1074 Doing Homework
状态压缩dp..题目: Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homework. If Ignatius hands in the homew原创 2017-04-27 10:02:57 · 175 阅读 · 0 评论 -
HDU - 1069 Monkey and Banana / HDU - 1087 Super Jumping! Jumping! Jumping!
这两题类似,所以放在一起了,我都是看成DAG上的dp来写的。hdu 1069 题意: A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, prov原创 2017-04-27 20:14:41 · 252 阅读 · 0 评论 -
HDU - 1160 FatMouse's Speed
题目: FatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take the data on a collection of mice and put as large a subset of this data as possible into a sequ原创 2017-05-05 08:31:34 · 238 阅读 · 0 评论 -
HDU - 1176 免费馅饼
题目: 都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,但在现实中运动神原创 2017-05-05 08:37:50 · 142 阅读 · 0 评论 -
POJ - 1458 Common Subsequence
题目: A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, …, xm > another sequence Z = < z1, z2, …, zk > is a subsequence原创 2017-05-05 08:42:15 · 195 阅读 · 0 评论 -
HDU - 1260 Tickets
题目: Jesus, what a great movie! Thousands of people are rushing to the cinema. However, this is really a tuff time for Joe who sells the film tickets. He is wandering when could he go back home as earl原创 2017-05-05 10:03:54 · 202 阅读 · 0 评论 -
HDU - 1078 FatMouse and Cheese
题目: FatMouse has stored some cheese in a city. The city can be considered as a square grid of dimension n: each grid location is labelled (p,q) where 0 <= p < n and 0 <= q < n. At each grid location F原创 2017-05-05 20:54:18 · 260 阅读 · 0 评论 -
POJ - 3186 Treats for the Cows
题目: FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for giving vast amounts of milk. FJ sells one treat per day and wants to maximize the money he receives over a given per原创 2017-05-06 09:22:42 · 256 阅读 · 0 评论 -
斜率优化DP
HDU - 3507 Print Article HDU - 2829 LawrenceHDU - 1300 PearlsHDU 3480 DivisionHYSBZ 1010 玩具装箱toyHYSBZ - 1096 仓库建设HDU - 3507 入门题。#include <cstdio>#include <iostream>#include <cstring>#in原创 2017-07-28 19:52:24 · 278 阅读 · 0 评论