DP
Wang_SF2015
这个作者很懒,什么都没留下…
展开
-
HDU 4405:Aeroplane chess(概率DP)
Aeroplane chessDescriptionHzz loves aeroplane chess very much. The chess map contains N+1 grids labeled from 0 to N. Hzz starts at grid 0. For each step he throws a dice(a dice have six faces原创 2016-08-01 08:57:45 · 304 阅读 · 0 评论 -
文章标题 CSU 1843: Jumping monkey (状态压缩+dp)
1843: Jumping monkey链接 1843: Jumping monkey 题意::有21个点,点之间有连边。现在有一只猴子, 初始位置不清楚。猎人每次可以攻击任意一点。每次 攻击后,若打中猴子则结束,没打中则猴子必定会移 动到当前位置的相邻点的某一个。问是否存在一个攻 击序列,使得必然打中猴子,若有多种可能还需输出 攻击次数最少的解,若还相同则输出字典序最小的解 分析:点数n只原创 2017-04-19 16:24:43 · 589 阅读 · 0 评论 -
文章标题 CSU 1846: Assembly line(DP)
1846: Assembly line题目链接 题意:给你k个字母,x1,x2…xk,以及任意两个字母间的合并规则(花费多少,以及合并 成哪个字母)。并且注意:对于任意两个字母x与y,merge(x,y)不一定等于 merge(y,x)。 然后给你一个长度不超过200的字符串,问你将这个串合并成一个字母的最小花费, 以及合并后的字母是什么,如果有多种方案花费相同,则取最后剩余的那个字母在 原x序原创 2017-06-03 16:38:01 · 330 阅读 · 0 评论 -
文章标题 CSU 1838: Water Pump (单调栈)
1838: Water Pump链接 1838: Water Pump 题意:给出n堵墙(水坝?),已知各个墙的高度hi。 这些墙之间灌满了水,当然这些水都是符合 物理规律的,即不会漂浮在空中。然后问如 果在两堵墙之间开一个洞,那么最多可以流 出多少水? 分析:要求出第i堵墙和i+1堵墙流出的水量,可以计算出左边的前缀和面积dpl[i],然后计算右边的后缀和面积dpr[i],然后用总面积原创 2017-04-19 15:56:01 · 320 阅读 · 0 评论 -
文章标题 HDU 1054 :Strategic game (树形DP)
传送门 题意:有n个节点,n-1条条边的树,然后要我们选择最少的点,使得这些点能将所有的边看到。 分析:树形DP ,dp[i][2],用0表示i这个点不选择,1表示i这个点选择,然后当对于u这个节点,如果不选择,那么其儿子节点就必须都得选择,所以有dp[u][0]+=dp[v][1] (v表示u的所有的儿子节点) 当选择u这个节点时,dp[u][1]=min(dp[v][0],dp[v][1]原创 2017-08-07 16:23:17 · 302 阅读 · 0 评论 -
文章标题 POJ 1185 : 炮兵阵地 (状压DP)
题目链接分析:首先我们可以先预处理一行中出所有状态中哪那些状态是可行的,即炮兵不会被放在另一个炮兵的射程内用each数组存储。然后同样预处理出地图每一行的状态,其中高地用1表示,用mp数组存储,这两个数组是我为了判断在第j行中第i个状态是否可行,即each[i]&mp[j],返回1表示有 冲突 然后我们用dp[I][j][k]来表示在第i行中的第j个状态与第n-1行中的第k个状态中炮兵的数量,然后原创 2017-08-09 11:17:51 · 305 阅读 · 0 评论 -
文章标题 CSU 1963: Feed the rabbit (斜率DP优化)
1963: Feed the rabbit传送门 题意:说有n个坑m只兔子,每只兔子会在ti时间后的di坑冒头(处于等待状态),有p个人,每个人都可以在任意时间内以1的速度走向n洞并喂食沿途的兔子,求兔子最少的总等待时间 分析:第i只兔子在ti时间出现在di个洞,所以可以用坐标(x,y)来表示兔子的坐标,x表示第i个洞离第一个洞的距离,y表示出现的时间。由于人的速度恒定为1,因此相当于一条斜率为原创 2017-07-25 10:06:47 · 453 阅读 · 0 评论 -
文章标题 HDU 3507 :Print Article (斜率dp优化)
转自 http://www.cnblogs.com/ka200812/archive/2012/08/03/2621345.html 我们知道,有些DP方程可以转化成DP[i]=f[j]+x[i]的形式,其中f[j]中保存了只与j相关的量。这样的DP方程我们可以用单调队列进行优化,从而使得O(n^2)的复杂度降到O(n)。可是并不是所有的方程都可以转化成上面的形式,举个例子:dp[i]=dp[j]转载 2017-07-24 15:21:56 · 359 阅读 · 0 评论 -
文章标题 POJ 2411 : Mondriaan's Dream (状态压缩DP)
Mondriaan’s Dream转自 http://www.cnblogs.com/scau20110726/archive/2013/03/14/2960448.html#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <queue>#include <set>#includ转载 2017-08-03 08:25:15 · 337 阅读 · 0 评论 -
文章标题 POJ 2441 :Arrange the Bulls(状压DP)
Arrange the BullsFarmer Johnson’s Bulls love playing basketball very much. But none of them would like to play basketball with the other bulls because they believe that the others are all very weak. Fa原创 2017-08-03 09:20:04 · 178 阅读 · 0 评论 -
文章标题 CSU 1832: Jump(DP)
链接 1832: Jump 题意:有n个点,然后每次从一个点(x1,y1)跳到另一个点(x2,y2),并且 (x1, y1) —>(x2, y2) 只有满足 y1=y2 && x1#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <algorithm>#include <queu原创 2017-04-06 15:01:20 · 303 阅读 · 0 评论 -
文章标题 CSU 1833: Lab(DP)
1833: Lab题目链接 1833: Lab 题意:一共有n天,每天boss有pi的概率来实验室检 查,而Susan每两次去实验室的时间相隔至少 要两天。 问Susan怎么安排实验使得pi总和最大。 分析:这就是普通DP题目,用DP【i】来表示前i天的最大概率,然后状态转移就是dp【i】=max(DP【j】)+a[i],其中j<=i-3。所以得特判一下i<=3时的情况。 代码:#includ原创 2017-03-31 00:21:28 · 260 阅读 · 0 评论 -
文章标题 coderforces 148D : Bag of mice (概率DP)
Bag of miceThe dragon and the princess are arguing about what to do on the New Year’s Eve. The dragon suggests flying to the mountains to watch fairies dancing in the moonlight, while the princess thin原创 2017-02-02 17:05:49 · 110 阅读 · 0 评论 -
文章标题 HDU 3853:LOOPS (概率DP)
LoopsDescriptionAkemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl). Homura wants to help her friend Madoka save the world. But because of the plot of the Boss Incubator, she is trapped in a laby原创 2016-08-01 20:28:42 · 385 阅读 · 0 评论 -
文章标题 HDU 1176:免费馅饼 (DP)
免费馅饼题意:就是在0~10的坐标上,每一秒都有馅饼掉在这上面,然后,现在有一个人在5的位置上,每次他只能移动一个,比如他在5 位置,下一秒他可以跑到4 5 6其中一个上面,现在就是要求当馅饼掉完之后,他最多能接到多少馅饼。 分析:这是一道动态规划的问题,定义dp[i,j]表示为在第i秒时在j位置最多能那到的馅饼的数量。输入时用一个数组num[i,j]保存第i秒在j 位置上馅饼的数量,所以就可以得原创 2016-08-18 15:11:38 · 319 阅读 · 0 评论 -
文章标题 poj 1837: Balance(dp)
Funny Car RacingDescriptionThere is a funny car racing in a city with n junctions and m directed roads. The funny part is: each road is open and closed periodically. Each road is associate with two int原创 2016-09-03 23:42:48 · 266 阅读 · 0 评论 -
文章标题 HDU 5115 : Dire Wolf (区间DP)
Dire WolfDescriptionDire wolves, also known as Dark wolves, are extraordinarily large and powerful wolves. Many, if not all, Dire Wolves appear to originate from Draenor. Dire wolves look like norma原创 2016-09-22 21:35:13 · 327 阅读 · 0 评论 -
文章标题 HDU 4791 :Alice's Print Service(二分+dp)
Alice’s Print ServiceDescriptionAlice is providing print service, while the pricing doesn’t seem to be reasonable, so people using her print service found some tricks to save money. For example, the原创 2016-10-14 19:05:03 · 346 阅读 · 0 评论 -
文章标题 POJ 3186 : Treats for the Cows (区间DP)
Treats for the CowsFJ 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 ov原创 2017-01-23 17:41:35 · 295 阅读 · 0 评论 -
文章标题 CSU 1578 : 爬楼梯 (简单DP)
爬楼梯小时候我们都玩过爬楼梯的游戏:两人猜拳,赢了可向上爬一级,谁先到最高级则获胜。作为大学生,我们应该玩一个更有水平的游戏。 现在一个人要上n级楼梯,每一步可以选择上一级或者上两级,但是不能后退。求上这n级楼梯的方案数。Input 第一行只有一个整数T(1<=T<=45),表示数据组数。 下面的T行每一行有一个整数n(1<=n<=45),表示有多少级楼梯。Output 对于每一组数据输出一原创 2017-01-29 13:53:00 · 333 阅读 · 0 评论 -
文章标题 POJ 2533 : Longest Ordered Subsequence (DP)
Longest Ordered SubsequenceA numeric sequence of ai is ordered if a1 < a2 < … < aN. Let the subsequence of the given numeric sequence ( a1, a2, …, aN) be any sequence ( ai1, ai2, …, aiK), where 1 <= i1原创 2017-01-29 14:09:50 · 123 阅读 · 0 评论 -
文章标题 POJ 1458 : Common Subsequence (最长公共子序列)
Common SubsequenceA 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原创 2017-01-29 14:21:48 · 117 阅读 · 0 评论 -
文章标题 POJ : Rectangular Covering(状压DP)
Rectangular Coveringn points are given on the Cartesian plane. Now you have to use some rectangles whose sides are parallel to the axes to cover them. Every point must be covered. And a point can be co原创 2017-08-03 10:15:43 · 304 阅读 · 0 评论