
dp
文章平均质量分 73
Julyana_Lin
这个作者很懒,什么都没留下…
展开
-
最大子段和
http://blog.youkuaiyun.com/chaoyue1216/article/details/6870339动态规划是一个很巧妙的算法,但是能够想得到如何用动态规划,我感觉还是有难度的。不过慢慢来,先从小的动态规划的例子开始。现在有一个数组,请找出这个数组的最大子段和。(即 max (a[i]+a[i+1]+...+a[j]) 0现在我们的思路是: 记s[i]为 a[转载 2012-08-31 10:58:09 · 607 阅读 · 0 评论 -
hdu - 4326 - Game - 概率dp
本题题意很简单,给出n个人每次4人进行比赛其他人等待,胜者继续,负者排到最后,连续或得m次胜利的人成为最终的赢家,求第k个人最终获得胜利的概率是多少?对于这题,我们首先确立一个这样的模型: x1先赢了i局,正在于x2,x3,x4赌斗,后面依次有x5,x6,……,xn等待。用P[i][j]表示x1先赢了i局的情况下,当前的xj获胜的概率。http://acm.hdu.edu.cn/sho原创 2012-10-22 10:19:24 · 814 阅读 · 0 评论 -
hdu - 4343 - Interval query - dp(贪心)
Description给定N(NSolution首先是一个贪心的想法,如果存在两个区间[s1,t1)和[s2,t2),且[s1,t1)包含于[s2,t2),那么[s2,t2)是可以扔掉的。很显然地,如果[s2,t2)包含于某个解中,那么把它换成[s1,t1)肯定个数不变。所以就可以把包含了其它区间的那些区间去掉。具体做法是天王想的,特别抽,详见代码。其实这步原创 2012-11-01 13:20:03 · 1137 阅读 · 0 评论 -
hdu - 4341 - Gold miner - 分组背包
题意:一个人在原点(0,0)抓金子,每块金子有一个获得需要的时间t和价值v。而且有的金子可能在一条直线上,那只能先抓近的,再抓远的。求在给定时间T下,所能获得的最大价值。http://acm.hdu.edu.cn/showproblem.php?pid=4341这题可以转化为分组的背包问题。分组的背包问题详解见背包九讲。先将所有点按照斜率排序,斜率相同按照距离排序。然后进行分组,将原创 2012-10-31 17:13:24 · 639 阅读 · 0 评论 -
hdu - 4323 - Magic Number - dp + 数据结构优化
题意:http://acm.hdu.edu.cn/showproblem.php?pid=4323 对于每个询问,输出给定一列数里面与询问的数a编辑距离小于等于b的数。解: dp,编辑距离。转自Matrix67 除了字符串匹配、查找回文串、查找重复子串等经典问题以外,日常生活中我们还会遇到其它一些怪异的字符串问题。比如,有时我们需要知道给定的两个字符串“有多原创 2012-10-21 19:00:22 · 922 阅读 · 0 评论 -
hdu - 4317 - Unfair Nim - 状态dp
我一直觉得状压就是暴搜,其实这题也就是暴搜。。。http://acm.hdu.edu.cn/showproblem.php?pid=4317题意:给你n个数,你可以在每个数加上一个值,使得最后的n个数的异或值为0,当然要求加的数的和最小,这之前有个小小的博弈障眼法呵呵。N非常小,状态压缩自然从N入手,用二进制表示这N堆的所有选择。根据异或的性质,只要异或的这些数字对应二进制相同的位上有原创 2012-10-18 16:58:02 · 652 阅读 · 0 评论 -
hdu - 4313 - Matrix - 树形dp 或者 贪心
题意:给n个顶点,和n-1条边(一颗生成树)。然后给定k个点,表示这些点上有一个机器人。最后让你删去一些边使任意两个机器人都不能互达,且所删边的权值之和要最小。http://acm.hdu.edu.cn/showproblem.php?pid=4313解:首先可以看出两个无需决策的选择。1.如果根节点是危险点,那么其子树中就不能有危险点。dp[u][0]: 与u原创 2012-10-16 13:25:29 · 628 阅读 · 0 评论 -
hdu - 4314 - Save the dwarfs - dp
又是一道很纠结的dp,我已经战亡。不过这题好点,看还是看得懂的,理解着理解着,感觉半懂还是有的。题意:http://acm.hdu.edu.cn/showproblem.php?pid=4314 每人有个肩高和手高。n个人迭罗汉,最上边的那个人要伸出双手能够到h就行。问能逃出多少人。在此不得不多说一句,多校的解题报告真*******,想把写解题报告的人暴打一遍。较难的动原创 2012-10-18 10:45:36 · 724 阅读 · 0 评论 -
hdu - 4303 - Hourai Jeweled 树dp
题意: 给定n(nv的路径上相邻的边的颜色都不同那么是一条合法的路径,求所有合法路径的权值和是多少。http://acm.hdu.edu.cn/showproblem.php?pid=4303解:一次dfs就能搞定的问题,其实没什么复杂的算法,主要难点在于统计时的一些小技巧,个人难度评价是偏难的中档题。从任意一点开始深搜,每颗子树搜索完毕之后向上返回pair每次深搜完一个子原创 2012-10-12 20:33:42 · 881 阅读 · 0 评论 -
hdu - 4301 - Divide Chocolate- dp
题意:http://acm.hdu.edu.cn/showproblem.php?pid=4301给你一个2*n的巧克力,每一小块巧克力都长得不同,将其分成k块巧克力有多少种分法。解:dp[i][j][0]表示已经分完i行,分成了j份,第i行的两个方格连在一起有多少种分法。dp[i][j][1]表示已经分完i行,分成了j份,第i行的两个方格不连在一起有多少种分法。然原创 2012-10-11 10:47:40 · 1028 阅读 · 2 评论 -
黑书01 - POJ 1141 dp
姐对于dp是一点都不会啊,city说不能只局限于线段树,于是,我就选择了dp。因为这个不用学什么其他的算法,而且可以问city。既然开始学的话呢,就从黑书开始学吧。黑书给我的要求是: 例题必须完全掌握,练习也很重要。学习完之后,应该对于每一道题目都能在短时间内把思路完整地整理一遍。对于大部分题目,应当很快地写成程序。于是,既然自己现在啥都不懂,就照着书的例题和要求来。原创 2012-08-22 16:44:56 · 426 阅读 · 0 评论 -
BNU - Soccer Teams- 01背包
(1)1与0的特性: 1是任何整数的约数,即对于任何整数a,总有1|a. 0是任何非零整数的倍数,a≠0,a为整数,则a|0. (2)若一个整数的末位是0、2、4、6或8,则这个数能被2整除。 (3)若一个整数的数字和能被3整除,则这个整数能被3整除。 (4) 若一个整数的末尾两位数能被4整除,则这个数能被4整除。 (5)若一个整数的末位是0或5,则这个数能被5整除。原创 2012-10-08 21:25:38 · 679 阅读 · 0 评论 -
BNU Cards 概率dp
题意:问至少有C clubs, D diamonds, H hearts and S spades的期望是多少。解:传说是概率dp,好神。原创 2012-10-05 22:09:06 · 489 阅读 · 0 评论 -
BNU Graceful Prime Decomposition 记忆化搜索
将n分成素数相加的形式,相加的素数必须小于k并且相加的素数不能连续出现。素数的顺序不同算是不同的相加方式。给定n,k,问素数相加的方式有几种?题目&&样例 打巨表过的,原来我对打表还不熟悉。看看下面写的,真是神奇!!!记忆化搜索,dp思想。。。#include #include #include #include #include #include #include原创 2012-10-03 09:33:55 · 659 阅读 · 0 评论 -
hdu 4001 dp To Miss Our Children Time
题意:小孩子玩积木堆房子的情景:每组测试数据第一行给出n,代表接下来有n块砖;接下来n行,每行给出砖的长,宽,高,属性(a,b,c,d);属性d:d=0:该砖的长度和宽度(a,b)要比垫在他下面的砖的长,宽大或者相等;就是长>=长,宽>=宽d=1:改砖的宽度和长度要比下面的砖的长度大或者相等,同时,该砖的宽度值和面积值要比下面的砖的面积值大;即长>=长,宽>=宽,面积>面积。也原创 2012-08-27 15:29:44 · 617 阅读 · 0 评论 -
hdu 2955 01 背包 Robberies
题意: 好多个银行,他们很有钱。有个人想去抢劫。告诉你银行的钱和抢这个银行被抓的概率。银行被你抢一次就会没钱。现在需要你满足的条件是被抓的概率小于他给的stand,问,最多能得到多少钱。做题过程: 这是一道很有现实主义色彩,很实用的一道题。总共就n个银行,他们钱数就是背包的容量,每个银行只抢一次,由此看出是个01背包,背包出的价值(概率)最大。开始我还以为要dp出原创 2012-08-24 08:56:13 · 639 阅读 · 0 评论 -
hdu 3920 运用状压暴搜
http://acm.hdu.edu.cn/showproblem.php?pid=3920题意: 你在一个位置用激光枪灭敌人,给你初始位置,下面是2*n个敌人的位置,你一枪能杀两个,可以杀死任意两个人,激光束的路径是消耗的能量,求最小能量,保证一次只消灭两个敌人,你的位置不变。解: 果然给人的感觉和hdu 4385是一样一样的,不过那个多了一条回来的边,原创 2012-08-23 08:48:34 · 580 阅读 · 0 评论 -
hdu 1684 dp
http://acm.hdu.edu.cn/showproblem.php?pid=1684题意:有m个工程,最多可以雇佣n个人,已知概率pij表示完成第i个工程雇佣j个人时,能按时完成的概率,同时,已知完成一个工程的奖金和无法完成时的罚款,还有每一个人的工资,当然,如果参与的工程无法按时完成,则参与的人不需要支付工资。求这m个工程的最大利润,同时求出需要的人数,多种方案时,从小到大输出人原创 2012-08-22 08:31:59 · 727 阅读 · 0 评论 -
最长子序列
转自:点击打开链接最长子序列可以说是刚接触动态规划的人经常遇见也不得不解决的问题,最常见的有两种,一种是最长公共子序列(LCS),还有一个是最长上升子序列(LIS)。今天我就总结下这两个的做法。一:最长公共子序列(LCS) 题目描述:给你两个数组,可以是数字的,也可以是字符串,我们假设是数字的!举个例子: X = 1, 5, 6, 4, 1, 3, 7转载 2013-04-05 15:57:21 · 839 阅读 · 0 评论