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

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

上一页 1 ··· 4 5 6 7 8 9 10 11 12 下一页
POJ 3252 Round Numbers (数位DP)

摘要:题意:求区间内一个数二进制位1的数量大于等于0的数的个数。 析:dp[i][j][k] 表示前 i 位,长度为 j 的,1的数量是 k。注意前导0. 代码如下: 阅读全文
posted @ 2016-10-13 22:25 dwtfukgv 阅读(166) 评论(0) 推荐(0)
CodeForces 55D Beautiful numbers (数位DP)

摘要:题意:给求给定区间中该数能整除每一位的数的数量。 析:dp[i][j][k] 表示前 i 位,取模2520为 j,最小倍数是 k,但是这样,数组开不下啊,那怎么办呢,其实,0-9的最小公倍数的不同各类并没有那么多, 其实就48种,所以我们可以给这48个一个编号,然后就能开出来了。 代码如下: 阅读全文
posted @ 2016-10-13 22:17 dwtfukgv 阅读(193) 评论(0) 推荐(0)
HDU 4352 XHXJ's LIS (数位DP+LIS+状态压缩)

摘要:题意:给定一个区间,让你求在这个区间里的满足LIS为 k 的数的数量。 析:数位DP,dp[i][j][k] 由于 k 最多是10,所以考虑是用状态压缩,表示 前 i 位,长度为 j,状态为 k的数量有多少,再结合nlogn的LIS, 就能搞定这个题目了。 代码如下: 阅读全文
posted @ 2016-10-10 21:06 dwtfukgv 阅读(244) 评论(0) 推荐(0)
UVaLive 6680 Join the Conversation (DP)

摘要:题意:给出n条发言,让你求最大的交流长度并输出标记顺序。 析:这个题要知道的是,前面的人是不能at后面的人,只能由后面的人at前面的,那就简单了,我们只要更新每一层的最大值就好,并不会影响到其他层。 最后再从这 n 层中取出最大值,在更新时,也可以记录着最大值。 代码如下: 阅读全文
posted @ 2016-10-07 21:28 dwtfukgv 阅读(222) 评论(0) 推荐(0)
HDU 4055 Number String (计数DP)

摘要:题意:由数字1到n组成的所有排列中,问满足题目所给的n-1个字符的排列有多少个,如果第i字符是‘I’表示排列中的第i-1个数是小于第i个数的。 如果是‘D’,则反之。 析:dp[i][j] 表示前 i 个数以 j 结尾有多少个,然后如果是 I ,那么就好,就是 i-1 中的前j-1项和,如果是 D, 阅读全文
posted @ 2016-10-06 22:48 dwtfukgv 阅读(261) 评论(0) 推荐(0)
HDU 3853 LOOPS (期望DP)

摘要:题意:给定一个 n * m的矩阵,然后你从 (1,1)到 (n,m),每次你有三种可能,不动,向右,向下,每次要消耗2个魔法,并且给定每个概率, 问你走出去的期望。 析:dp[i][j] 表示从 (i,j)到终点的概率。然后一路逆推回去就好。 代码如下: 阅读全文
posted @ 2016-10-06 21:49 dwtfukgv 阅读(219) 评论(0) 推荐(0)
HDU 4734 F(x) (数位DP)

摘要:题意:给定 F(x)的不表达,给定一个 n 问 1- n中有多少数是小于等于 F(m)的。 析:dp[i][j] 表示前 i 位不大于 j 个的数量。 代码如下: 阅读全文
posted @ 2016-10-06 21:43 dwtfukgv 阅读(365) 评论(0) 推荐(0)
HDU 2196 Computer (树形DP)

摘要:题意:给定一棵树,然后让你找出每个结点离所有结点的最远距离。 析:也就说我们要知道离每个结点的最远距离,对于每个结点,我们知道离它最远的,要么是从父结点过来,要么是从子树中得到,dp[i][0] 表示从 i 子树中得到的 最远距离,dp[i][1] 表示 i 从子树得到的次远距离,dp[i][2] 阅读全文
posted @ 2016-10-06 21:39 dwtfukgv 阅读(212) 评论(0) 推荐(0)
HDU 4756 Install Air Conditioning (MST+树形DP)

摘要:题意:n-1个宿舍,1个供电站,n个位置每两个位置都有边相连,其中有一条边不能连,求n个位置连通的最小花费的最大值。 析:因为要连通,还要权值最小,所以就是MST了,然后就是改变一条边,然后去找出改变哪条能使得总花费最大,dp[i][j] 表示那条边左边的 i 和右边的 j, 最短距离,然后枚举MS 阅读全文
posted @ 2016-10-06 21:26 dwtfukgv 阅读(233) 评论(0) 推荐(0)
HDU 4126 Genghis Khan the Conqueror (树形DP+MST)

摘要:题意:给一图,n个点,m条边,每条边有个花费,给出q条可疑的边,每条边有新的花费,每条可疑的边出现的概率相同,求不能经过原来可疑边 (可以经过可疑边新的花费构建的边),注意每次只出现一条可疑的边,n个点相互连通的最小花费的期望。 析:要想连通先让他们连通起来,先构造出一个MST,然后再暴力,如果这个 阅读全文
posted @ 2016-10-06 21:20 dwtfukgv 阅读(248) 评论(0) 推荐(0)
HDU 4714 Tree2cycle (树形DP)

摘要:题意:给定一棵树,断开一条边或者接上一条边都要花费 1,问你花费最少把这棵树就成一个环。 析:树形DP,想一想,要想把一棵树变成一个环,那么就要把一些枝枝叶叶都换掉,对于一个分叉是大于等于2的我们一定要把它从父结点上剪下来是最优的, 因为如果这样剪下来再粘上花费是2(先不管另一端),如果分别剪下来再 阅读全文
posted @ 2016-10-06 21:09 dwtfukgv 阅读(263) 评论(0) 推荐(0)
HDU 1159 Common Subsequence (LCS)

摘要:题意:给定两行字符串,求最长公共子序列。 析:dp[i][j] 表示第一串以 i 个结尾和第二个串以 j 个结尾,最长公共子序列,剩下的就简单了。 代码如下: 阅读全文
posted @ 2016-10-06 21:01 dwtfukgv 阅读(216) 评论(0) 推荐(0)
HDU 2159 FATE (二维背包)

摘要:题意:中文题。 析:dp[i][j] 已经杀了 i 个怪兽,已经用了 j 体积,所能获得的最大经验值,这个和一维的差不多,只是加一维而已。 代码如下: 阅读全文
posted @ 2016-10-06 20:56 dwtfukgv 阅读(284) 评论(0) 推荐(0)
HDU 2602 Bone Collector (01背包DP)

摘要:题意:给定一个体积,和一些物品的价值和体积,问你最大的价值。 析:最基础的01背包,dp[i] 表示体积 i 时最大价值。 代码如下: 阅读全文
posted @ 2016-10-06 20:50 dwtfukgv 阅读(194) 评论(0) 推荐(0)
HDU 4389 X mod f(x) (数位DP)

摘要:题意:求一个区间内各位数字之和能被该数整除的个数。 析:数位DP,dp[i][j][k][l] 表示前 i 位和为 j,对 k 取模为 l,然后就好做了。 代码如下: 阅读全文
posted @ 2016-10-02 23:11 dwtfukgv 阅读(225) 评论(0) 推荐(0)
HDU 4514 湫湫系列故事――设计风景线 (树形DP)

摘要:题意:略。 析:首先先判环,如果有环直接输出,用并查集就好,如果没有环,那么就是一棵树,然后最长的就是树的直径,这个题注意少开内存,容易超内存, 还有用C++交用的少一些,我用G++交的卡在32764K,限制是32768K。。 代码如下: 阅读全文
posted @ 2016-10-01 17:28 dwtfukgv 阅读(365) 评论(1) 推荐(0)
HDU 5903 Square Distance (贪心+DP)

摘要:题意:一个字符串被称为square当且仅当它可以由两个相同的串连接而成. 例如, "abab", "aa"是square, 而"aaa", "abba"不是. 两个长度相同字符串之间的 hamming distance是对应位置上字符不同的位数. 给定一行字符串和 m,输出字典序最小的字符串。 析: 阅读全文
posted @ 2016-10-01 13:25 dwtfukgv 阅读(320) 评论(0) 推荐(0)
CodeForces 721B Journey (DP)

摘要:题意:给定一个有向图,你从1出发到n,走尽可能多的点,并且使总权值不大于t。 析:在比赛时,竟然看成有向图了,就想了好久,感觉dp,但是不会啊。。。如果是有向图就好做多了,枚举边,然后打印就好,dp[i][j] 表示, 经过 i 个结点,并且在 j的最小时间。 代码如下: 阅读全文
posted @ 2016-10-01 10:43 dwtfukgv 阅读(379) 评论(0) 推荐(0)
Gym 100962J Jimi Hendrix (树形DP)

摘要:题意:给定一棵树,然后每条边有一个字母,然后给定一行字符串,问你能不能从这棵树上找到,并输出两个端点。 析:树形DP,先进行递归到叶子结点,然后再回溯,在回溯的时候要四个值,一个是正着匹配的长度和端点,一个是反着匹配的长度和端点, 然后一个一个匹配,并不断更新这个长度和端点。 代码如下: 阅读全文
posted @ 2016-09-26 21:01 dwtfukgv 阅读(944) 评论(0) 推荐(0)
UVa 1213 Sum of Different Primes (DP)

摘要:题意:给定两个数 n 和 k,问你用 k 个不同的质数组成 n,有多少方法。 析:dp[i][j] 表示 n 由 j 个不同的质数组成,然后先打表素数,然后就easy了。 代码如下: 阅读全文
posted @ 2016-09-26 19:40 dwtfukgv 阅读(178) 评论(0) 推荐(0)

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