随笔分类 -  dp动态规划

1 2 下一页

HDU 5898
摘要:数位dp 一开始没想好怎么统计,奇偶一起考虑想不太出来。 后面看队友写了一发,过了。于是自己也写一发。 阅读全文

posted @ 2016-09-20 13:46 very_czy 阅读(284) 评论(0) 推荐(0)

codeforces 711C dp
摘要:一眼dp,但是这道题不知怎么搞遇到点小问题,又搞了搞才出来,就是给你一些颜色。这个点有颜色,不能图,反之可以。问形成k段连续颜色的最小花费。 纯纯的dp,不知道为什么就是有问题。。。终于借鉴了别人的A过了,后面再研究吧。 阅读全文

posted @ 2016-09-08 20:33 very_czy 阅读(187) 评论(0) 推荐(0)

HDU 5816 Hearthstone
摘要:做过类似感觉的题,但是就是没办法往状压上靠,找不到之间的联系。 题意:给你一个p,n张无中生有,m张伤害牌。抽一张牌,问杀死他的概率是多大。 20张牌直接存状态,往下转移的时候如果叶子数大于等于无中生有数加一就是边界,不能更新了。因为想象一颗满二叉树,伤害牌就是叶子,无中生有就是里面的。正好对应了这 阅读全文

posted @ 2016-08-12 16:23 very_czy 阅读(214) 评论(0) 推荐(0)

POJ 2486 树型dp 入门题
摘要:从根走k步获得的最大权值。 感觉情况不容易弄全。而步数从大到小有种背包的感觉。 阅读全文

posted @ 2016-08-08 17:15 very_czy 阅读(143) 评论(0) 推荐(0)

hdu 5807 分步dp
摘要:有三个人分别在三个位置,每一秒各走一步,三个城市可以联络的要求是两两权值差小于等于K。问有多少种不同的方案,让这三个人可以联络。 dp[x][y][z]表示三个人分别在x,y,z时的答案,直接转移要花n^6,考虑每个人走一步是一种状态,即再加一维表示即将要走的人是哪一个,按照顺序转移0,1,2,0, 阅读全文

posted @ 2016-08-07 16:39 very_czy 阅读(253) 评论(0) 推荐(0)

HDU 5794
摘要:给你一个边界h,w; 有n个障碍物,有障碍物的地方不能走。马走日字,问左上到右下有多少种路径。 做法:dp[i]表示不走过其他点的到这个点的路径数。 所以转移方程就有,这个点的值等于全部路径,减去,在它之前的所有障碍点到这个点的路径。因为对于每一个障碍点,都是第一次到达障碍点,所以后面只要计算全部路 阅读全文

posted @ 2016-08-05 15:46 very_czy 阅读(556) 评论(0) 推荐(0)

HDU 5773 The All-purpose Zero
摘要:给你一个序列,0可以变成任意数字,文最长上升子序列长度。 首先最长的肯定是0都用。 因为中间无论多少个0都不会让情况更糟糕。 然后,0单独拿出来,最后统计的时候加上就行。 最后,每个数的实际值要减去它之前的0的个数,因为要让每一个0都物尽其用,能在这个数之前塞得下。也就是说这个数会变得没有那么值钱, 阅读全文

posted @ 2016-07-28 20:36 very_czy 阅读(181) 评论(0) 推荐(0)

codeforces 700B
摘要:在给的点中选出一对对点,让每两个点的距离和最大 乱搞,做过这种关于类型的,这次算比较简单的。 阅读全文

posted @ 2016-07-25 21:04 very_czy 阅读(178) 评论(0) 推荐(0)

HDU 5726 GCD 求给定序列中与查询段相等的GCD个数
摘要:一上来RMQ,以便于把查询等东西都弄成logn的。然后预处理,因为GCD有递减趋势,并且每次改变下降都减少至少一半,所以很快就会到1,剩下的直接加进去;如果很慢到1,那么中途相等的gcd就可以二分。此复杂度为2logn,暴力起始位置,每次向左移都是logn,所以复杂度是2nlogn。 下面上代码 阅读全文

posted @ 2016-07-20 13:32 very_czy 阅读(246) 评论(0) 推荐(0)

CODEFORCES 55D
摘要:问区间内有多少数能被这个数的每一位整除 #include <iostream>#include <functional>#include <algorithm>#include <complex>#include <cstdlib>#include <cstring>#include <fstrea 阅读全文

posted @ 2016-05-13 16:47 very_czy 阅读(196) 评论(0) 推荐(0)

HDU 2089 不要62 数位dp
摘要:问给定区间内,不出现62和4的个数有多少。 第一道数位dp,觉得挺好懂的。 还有一道。给你一个序列,任意打乱顺序,一样的序列算一次,问在全部排列中排名第几。 数位dp计数,预处理是排列组合,方便选位置。 阅读全文

posted @ 2016-05-13 14:45 very_czy 阅读(108) 评论(0) 推荐(0)

LightOJ 1287
摘要:到一个点,可以向下走,可以在自己的地方停留5分钟,求期望。 公式不错 f[u]=(5+f[u])/(x+1)+(g[u][vi]+f[vi])/(x+1),1<=i<=x,x为合法的下一个点。。 #include <iostream>#include <functional>#include <al 阅读全文

posted @ 2016-05-11 15:53 very_czy 阅读(227) 评论(0) 推荐(0)

LightOJ 1079 Just another Robbery
摘要:抢银行,不能高于一个概率p,一共有n个银行。下面是存款+被抓概率; dp[i][j]表示第i个银行之前,抢到j元的最大逃脱概率。 v[i]是概率,w[i]是钱数; 每次留下w[i]的空间,由之前的那个状态到这个状态(抢这个银行),又因为独立,所以就乘以概率就行; dp[i][j]=max(dp[i- 阅读全文

posted @ 2016-04-27 22:02 very_czy 阅读(111) 评论(0) 推荐(0)

HDU 2859 Phalanx
摘要:找对称的最大阵,对角线为左下到右上。 一上来读错了,以为只要验证对角线上的块,写成了区间dp,wa。。。 后来没想,直接2*n*n*n。。。直接超时,最后才好了一点。 #include <cstdio>#include <iostream>#include <vector>#include <cma 阅读全文

posted @ 2016-04-21 15:16 very_czy 阅读(204) 评论(0) 推荐(0)

HDU 1078 FatMouse and Cheese 简单记忆化搜索
摘要:题意是:给你n和k,一个老鼠从左上角开始走,每次可以往一个方向走1~k中的任何一个值,但是每一步必须比前一步的值大,问获取的最多的值是多少? 简单记忆化搜索,dp[i][j]表示当前位置能获取的最大值,但是要注意,考虑全所有的情况才能用记忆化搜索,只要没有后效性,大部分dfs,我觉得理论上都能用记忆 阅读全文

posted @ 2016-04-21 11:24 very_czy 阅读(119) 评论(0) 推荐(0)

POJ 3186 Treats for the Cows(区间DP)
摘要:题意:给出的一系列的数字,每次只能从队首或者队尾出队,第n个出队就拿这个数乘以n,最后将和加起来,求最大和 思路:由里向外逆推区间,一上来初始化,完了再一层一层区间dp上去。 #include <cstdio>#include <iostream>#include <vector>#include 阅读全文

posted @ 2016-04-21 10:56 very_czy 阅读(121) 评论(0) 推荐(0)

POJ 1661 动态规划 Help Jimmy
摘要:动态规划,意思简洁明了。 排序,n^2做法。 每次检测可行的长条,最高的永远是起始点。 dp[i][0]表示第i个长条的左边下去最短的时间。 dp[i][1]表示第i个长条的右边下去最短的时间。 #include <cstdio>#include <iostream>#include <vector 阅读全文

posted @ 2016-04-20 22:44 very_czy 阅读(214) 评论(0) 推荐(0)

LCS 模板+规定长度的上升子序列个数(数值不同为不同)
摘要:第一个是最长公共子序列 不连续 #include <cstdio>#include <iostream>#include <vector>#include <cmath>#include <set>#include <map>#include <queue>#include <algorithm># 阅读全文

posted @ 2016-04-20 13:24 very_czy 阅读(537) 评论(0) 推荐(0)

POJ 1015 动态规划
摘要:找准状态 然后就是考研代码能力了。 给你n,m,让你在n个人里找m个人,使这m个人的两数之差最小,如有多解就输出最大和的那个。 dp[j][k]表示挑选j个人且差为k时的最大和。因为数据不大这样搞又简单又方便。 状态转移自然是:上一个点如果可以到达,就对这个点扫所有的已知数据,如果这个点没有出现过并 阅读全文

posted @ 2016-04-17 11:24 very_czy 阅读(153) 评论(0) 推荐(0)

HDU 1114 动态规划
摘要:背包,初始化成无穷大/小,可以记录路径。#include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <vector> #include <map> #include <set> #include 阅读全文

posted @ 2016-04-14 16:26 very_czy 阅读(158) 评论(0) 推荐(0)

1 2 下一页

导航