• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
dwtfukgv
博客园    首页    新随笔    联系   管理    订阅  订阅

随笔分类 -  动态规划(DP)

上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页
POJ 3419 Difference Is Beautiful (DP + 二分 + rmq)

摘要:题意:给n个数(n<=200000),每个数的绝对值不超过(10^6),有m个查询(m<=200000),每次查询区间[a,b]中连续的没有相同数的的最大长度。 析:由于n太大,无法暴力,也承受不了O(n*n)的复杂度,只能是O(nlogn),首先是用f[i] 表示每个数 i 为左端点,向右可以最多 阅读全文
posted @ 2017-01-31 20:52 dwtfukgv 阅读(200) 评论(0) 推荐(0)
CodeForces 754C Vladik and chat (DP+暴力)

摘要:题意:给定n个人的m个对话,问能不能找一个方式使得满足,上下楼层人名不同,并且自己不提及自己。 析:首先预处理每一层能有多少个user可选,dp[i][j] 表示第 i 层是不是可以选第 j 个user。最后再输出即可。 代码如下: 阅读全文
posted @ 2017-01-14 22:41 dwtfukgv 阅读(264) 评论(0) 推荐(0)
HDU 2077 汉诺塔IV (递推)

摘要:题意:。。。 析:由于能最后一个是特殊的,所以前n-1个都是不变的,只是减少了最后一个盘子的次数,所以根据上一个题的结论 答案就是dp[n-1] + 2。 上一题链接:http://www.cnblogs.com/dwtfukgv/p/6283879.html 代码如下; 阅读全文
posted @ 2017-01-13 19:34 dwtfukgv 阅读(302) 评论(0) 推荐(0)
HDU 2064 汉诺塔III (递推)

摘要:题意:。。 析:dp[i] 表示把 i 个盘子搬到第 3 个柱子上最少步数,那么产生先把 i-1 个盘子搬到 第3个上,再把第 i 个搬到 第 2 个上,然后再把 i-1 个盘子, 从第3个柱子搬到第1个上,再把第 i 个盘子,搬到第3个上,再把第i-1个盘子从第1个柱子上搬到第3个上,所以总起来就 阅读全文
posted @ 2017-01-13 19:28 dwtfukgv 阅读(172) 评论(0) 推荐(0)
HDU 1207 汉诺塔II (简单DP)

摘要:题意:中文题。 析:在没有第四个柱子时,把 n 个盘子搬到第 3 个柱子时,那么2 ^ n -1次,由于多了一根,不知道搬到第四个柱子多少根时是最优的, 所以 dp[i] 表示搬到第4个柱子 i 个盘子时,步数最少,dp[i] = min{ dp[j] + (1<<i-j) - 1}。 也可以找规律 阅读全文
posted @ 2017-01-13 19:21 dwtfukgv 阅读(185) 评论(0) 推荐(0)
UVa 11584 Partitioning by Palindromes (简单DP)

摘要:题意:给定一个字符串,求出它最少可分成几个回文串。 析:dp[i] 表示前 i 个字符最少可分成几个回文串,dp[i] = min{ 1 + dp[j-1] | j-i是回文}。 代码如下: 阅读全文
posted @ 2017-01-12 14:59 dwtfukgv 阅读(123) 评论(0) 推荐(0)
HDU 4336 Card Collector (期望DP+状态压缩 或者 状态压缩+容斥)

摘要:题意:有N(1<=N<=20)张卡片,每包中含有这些卡片的概率,每包至多一张卡片,可能没有卡片。求需要买多少包才能拿到所以的N张卡片,求次数的期望。 析:期望DP,是很容易看出来的,然后由于得到每张卡片的状态不知道,所以用状态压缩,dp[i] 表示这个状态时,要全部收齐卡片的期望。 由于有可能是什么 阅读全文
posted @ 2016-12-05 22:04 dwtfukgv 阅读(379) 评论(0) 推荐(0)
HDU 4405 Aeroplane chess (期望DP)

摘要:题意:从0开始,要跳到 n 这个位置,如果当前位置是一个飞行点,那么可以跳过去,要不然就只能掷骰子,问你要掷的次数数学期望,到达或者超过n。 析:概率DP,dp[i] 表示从 i 这个位置到达 n 要掷的次数的数学期望。然后每次掷的数就是1-6,概率都相等为1/6,再特殊标记一下飞行点,那么就容易写 阅读全文
posted @ 2016-12-05 20:50 dwtfukgv 阅读(253) 评论(0) 推荐(0)
POJ 2096 Collecting Bugs (概率DP)

摘要:题意:给定 n 类bug,和 s 个子系统,每天可以找出一个bug,求找出 n 类型的bug,并且 s 个都至少有一个的期望是多少。 析:应该是一个很简单的概率DP,dp[i][j] 表示已经从 j 个子系统中,找出 i 种类型的bug,达到目标所需要天数的期望, 很明显dp[n][s] = 0.0 阅读全文
posted @ 2016-12-04 22:20 dwtfukgv 阅读(198) 评论(0) 推荐(0)
POJ 2151 Check the difficulty of problems (概率DP)

摘要:题意:ACM比赛中,共M道题,T个队,pij表示第i队解出第j题的概率 ,求每队至少解出一题且冠军队至少解出N道题的概率。 析:概率DP,dp[i][j][k] 表示第 i 个队伍,前 j 个题,解出 k 个题的概率,sum[i][j] 表示第 i 个队伍,做出 1-j 个题的概率,ans1等于, 阅读全文
posted @ 2016-12-03 21:09 dwtfukgv 阅读(183) 评论(0) 推荐(0)
UVaLive 7143 Room Assignment (组合数+DP)

摘要:题意:有 n 个客人,m个房间,每个房间可住ci个人,这 n 个人中有 t 对双胞胎,sum{ci} = n 问你有多少种住房方法。 析:计数DP,dp[i][j] 表示前 i 个房间,还剩下 j 对双胞胎未住,第 i+1 个房间,就从剩下的 j 对双胞胎中选 k 对,然后再从不是双胞胎的人选剩下的 阅读全文
posted @ 2016-11-22 19:00 dwtfukgv 阅读(382) 评论(0) 推荐(0)
HDU 5024 Wang Xifeng's Little Plot (DP)

摘要:题意:给定一个n*m的矩阵,#表示不能走,.表示能走,让你求出最长的一条路,并且最多拐弯一次且为90度。 析:DP,dp[i][j][k][d] 表示当前在(i, j)位置,第 k 个方向,转了 d 次变的最多次数,然后用记忆化搜索就好。 代码如下: 阅读全文
posted @ 2016-11-17 11:23 dwtfukgv 阅读(145) 评论(0) 推荐(0)
HDU 1520 Anniversary party (树形DP)

摘要:题意:题目给出一棵树,每个节点都有其权值。如果选择了一个节点则不可以选择其父节点,问能取得的最大值。 析:一个简单的树形DP,dp[i][0] 表示结点 i不选,dp[i][1] 表示 结点 i 选,最后选最大值就好。 代码如下: 阅读全文
posted @ 2016-11-09 21:10 dwtfukgv 阅读(123) 评论(0) 推荐(0)
HDU 5945 Fxx and game (DP+单调队列)

摘要:题意:给定一个 x, k, t,你有两种操作,一种是 x - i (0 <= i <= t),另一种是 x / k (x % k == 0)。问你把x变成1需要的最少操作。 析:这肯定是DP,也想到可能是单调队列,但是不会啊。。。。就是胡搞了一发,虽然AC了,但是效率极低,比用单调队列少10倍。 d 阅读全文
posted @ 2016-10-31 16:32 dwtfukgv 阅读(161) 评论(0) 推荐(0)
UVa 11401 Triangle Counting (计数DP)

摘要:题意:给定一个数 n,从1-n这些数中任意挑出3个数,能组成三角形的数目。 析:dp[i] 表示从1-i 个中任意挑出3个数,能组成三角形的数目。 代码如下: 阅读全文
posted @ 2016-10-26 22:57 dwtfukgv 阅读(204) 评论(0) 推荐(0)
POJ 3071 Football (概率DP)

摘要:题意:给定 2的n次方 个团队对每个队的战胜的概率,一块要打 n 场,每场都是 1 对 2, 2 对 3,每次都取赢的一方,问你最后谁是冠军的概率最大。 析:dp[i][j] 表示 第 i 场 j 胜的概率,每次只要算 i 相邻的且不是已经打过的 2 i-1次方个队,最后再选出概率最大的就好。 代码 阅读全文
posted @ 2016-10-20 21:28 dwtfukgv 阅读(127) 评论(0) 推荐(0)
CodeForces 446A DZY Loves Sequences (DP+暴力)

摘要:题意:给定一个序列,让你找出一个最长的序列,使得最多改其中的一个数,使其变成严格上升序列。 析:f[i] 表示以 i 结尾的最长上升长度,g[i] 表示以 i 为开始的最长上升长度,这两个很容易就求得,最后枚举中间值即可。 代码如下: 阅读全文
posted @ 2016-10-19 16:03 dwtfukgv 阅读(448) 评论(0) 推荐(0)
HDU 2544 最短路 (Floyd)

摘要:题意:略。 析:由于 n 比较小,所以我们可以用Floyd,完全不会超时。 代码如下: 阅读全文
posted @ 2016-10-19 15:43 dwtfukgv 阅读(156) 评论(0) 推荐(0)
SPOJ BALNUM (数位DP)

摘要:题意:求区间内出现过的奇数是偶数,出现过的偶数是奇数的个数。 析:这个题是要三进制进行操作的。dp[i][j] 表示前 i 位,状态是 j,可以用三进制来表示 0表示没有出现,1表示奇数,2表示偶数。 代码如下: 阅读全文
posted @ 2016-10-13 22:36 dwtfukgv 阅读(237) 评论(0) 推荐(0)
CodeForces 628D Magic Numbers (数位DP)

摘要:题意:求给定区间内偶数位置全是d并且是m的倍数的数的个数。 析:一开始以为是偶数有的是d,有的不是,然后还没有看到区间的长度相等,这个是十分重要的,要不然开不出数组。 dp[i][j] 表示前 i 位,取模m为 j。 代码如下: 阅读全文
posted @ 2016-10-13 22:32 dwtfukgv 阅读(181) 评论(0) 推荐(0)

上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3