摘要: http://acm.hdu.edu.cn/showproblem.php?pid=5898 题意:求两个数中间的满足连续位是奇数的长度是偶数,连续位上是偶数的长度位奇数的数量。 分析:就是数位dp基本写法,dfs 的参数多加了个 a 表示连续位数的长度,flag表示上一位是否为奇数。 这里当奇偶改 阅读全文
posted @ 2019-08-27 10:16 *Zzz 阅读(163) 评论(0) 推荐(0) 编辑
摘要: Beautiful numbers CodeForces - 55D 题意:定义能被自己所有位数整除的数字为美丽,给定一个区间,求区间内的美丽数字个数。 分析:首先,可以把限制条件转化为之前所有位数的最大公倍数,将pos,sum,lcm,up当作 dfs的条件和dp下标,然后 dp[ pos ][ 阅读全文
posted @ 2019-08-27 01:03 *Zzz 阅读(251) 评论(0) 推荐(0) 编辑
摘要: https://cn.vjudge.net/problem/HDU-2089 题意: 题意:给定一个区间,求区间中不包含4、连续的62的数字有几个。 分析:基础的数位dp,利用开多维的dp数组和 dfs 的多个参数来实现各种限制条件,从高位到低位dfs,并且多用 if 判断,结尾 return 1。 阅读全文
posted @ 2019-08-27 00:24 *Zzz 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 题意:买附件的前提是买了主件,问给定金额获得的最大价值。 分析:有依赖的背包模板题,注意有依赖的背包不是分组背包的那种三个for的顺序,而是枚举一个主件后,不断的枚举附件,而购买多个不同的附件。 同时,在写法上,用 f 数组表示答案数组,f 的每个 j 都是对应最优的决策,而每次枚举都在 t 数组上 阅读全文
posted @ 2019-08-27 00:07 *Zzz 阅读(277) 评论(2) 推荐(0) 编辑
摘要: 题意:有权值分别为1,2,3,4,5,6的大理石,每种都有若干块,能否把它们分成权值相等的2份。大理石的总数量不超过20000。(多重背包) 分析:判断dp[ V/2 ] ==V/2 即可,但过程如果用普通做法会超时,即多重背包当成01背包做效率很低,这时候要用二进制拆分优化,将复杂度变为 二进制拆 阅读全文
posted @ 2019-08-27 00:04 *Zzz 阅读(455) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problem/P2627 题意:给一个长度为nn的数组。现在让你选一些数,并且选的数中不能有在数组中长度超过kk的连续段。求选出的数的和的最大值。 分析:共三种解决方案。 Solution One 顺推. 令 dp[i][0] 表示在前 i 头奶牛中,选 阅读全文
posted @ 2019-08-25 23:20 *Zzz 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 01背包 + 排序 题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3466 题目大意:n中商品,m元钱,每种商品都有p,q,v属性,p价格,q表示买这种商品你需要带q元老板才愿意和你交易,v这种商品的实际价值,求问最多可以获得多少价值。 这题是有先决条 阅读全文
posted @ 2019-08-25 21:36 *Zzz 阅读(379) 评论(0) 推荐(0) 编辑