
DP
JingLuoZZZ
为什么努力?因为喜欢的人很优秀
展开
-
2020 CCPC网络赛 - 1012 Xor
题意:求满足x∈[0,A],y∈[0,B],∣x−y∣≤K,x XOR y≤W的(x,y)的对数求满足x \in [0,A],y \in [0,B],|x-y| \leq K,x \ XOR \ y \leq W 的(x,y)的对数求满足x∈[0,A],y∈[0,B],∣x−y∣≤K,x XOR y≤W的(x,y)的对数Solution:∣x−y∣≤K⇒ x−y≤K and y−x≤K ⇒ y−x+K≥0&nb原创 2020-09-24 12:08:48 · 501 阅读 · 0 评论 -
CodeForces 1249 F Maximum Weight Subset(树形dp))
题目: F.Maximum Weight Subset思路: 显然是树形dp没错了,重点在于如何处理和如何转移.我的做法是: dp[i][j] 表示距结点 i 最近为 j 的点集的最大权重和. 每次由叶子结点往父亲节点转移,很明显对于父亲结点 u, 叶子结...原创 2019-10-24 22:14:04 · 407 阅读 · 0 评论 -
BZOJ-1264 基因匹配Match (LCS->LIS 或者线段树优化LCS)
题目: 传送门思路: 第一种方法是将LCS转化为LIS,我们把第一个序列的每个数的位置记录下来,按照第二个序列出现的顺序,每次逆序排列所有位置来构造新数组,然后对这个新数组求LIS即可. ...原创 2019-08-07 21:19:06 · 271 阅读 · 0 评论 -
gym 102302 2019 USP-ICMC H-Log Concave Sequences (dp + 矩阵快速幂优化)
题目:传送门思路: 我们可以先写出转移方程,发现该方程是一个不变的递推式,我们考虑用矩阵快速幂来优化这个递推式.完结撒花…AC_Code#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>usin...原创 2019-08-19 16:50:36 · 848 阅读 · 2 评论 -
CodeForces 1228E Another Filling the Grid (组合数 + dp)
题目: 传送门思路: dp[ i ] [ j ] 表示到 第 i 行时 已经有 j 列有 1 的方案数. 设该行新增的有 1 的列数为 x,组合数位C,则 对于 x 的 取值有两种转移方式. 如果 x == 0 : 因为每行必须...原创 2019-09-30 00:26:35 · 275 阅读 · 0 评论 -
CodeForces 1208-F Bits And Pieces (SosDp)
Problem: 传送门Solution: Dp[i] 表示 i 出现的次数,注意我们这里的出现次数不是单纯的 i 出现多少次 , 如果某个数的子集包含 i , 则 i 的出现次数也会增加. 如果dp[i] >= 2,说明一定存在两个数 按位与 的值是 包含 i 的...原创 2019-10-05 14:50:36 · 237 阅读 · 0 评论 -
CodeForces 999 -F Cards and Joy (dp)
题目:传送门思路:贪心角度出发,牌 i 肯定全部都要发给 喜欢 牌 i 的 人;那么题目就转换为了 i 个人 拿 k 张喜欢的牌的最大值求和问题.dp[i][j] 表示 i 个人 拿了 j 张牌的 最大值. 转移 : dp[i][j] = max(dp[i-1][j-l]+h[l]);Ac_Code:#include <iostream>#include <cst...原创 2019-10-06 22:25:39 · 211 阅读 · 0 评论 -
CodeForces 1238-E Keyboard Purchase(状压DP)
题目:传送门思路:先预处理出所有的字符的贡献对,例如 abcd,则贡献对为(a,b),(b,c),(c,d) 均为一个.如果在新建盘中一个字符 位置 pos , 则与其有关的贡献对中,编号比他大的对中就要减去它,即为 - pos, 反之就是加上它,即为 +pos 。可以看出我们可以把 单个字符的贡献单独放出来算,所以我们考虑直接枚举顺序,每次维护最小值.而状压dp转移的过程中恰好可以将...原创 2019-10-10 13:36:02 · 318 阅读 · 0 评论 -
CodeForces 1238 F The Maximum Subtree(树形dp)
题目:传送门思路:分析题意会发现,每个所选择的点只能有两条分支长度大于 2, 其他长度只能为1.我们考虑树形dp,对于每个节点我们先考虑他和他的两个儿子分支构成的结果,在更新其分支的最大值,向上传递Ac_Code:#include <iostream>#include <cstdio>#include <algorithm>#include &...原创 2019-10-10 13:41:04 · 400 阅读 · 0 评论 -
POJ-1661 Help Jimmy (dp+线段树优化,nlog n解法)
题目: 传送门思路: 就题目本身而言,不是很难,可以用 o(n2) 方法解决这道题目 我们讨论的是如果这道题数据范围变成 1e4甚至1e5了怎么解决这道题目. 首先, o(n2) 解法中对于每个平台往下走转移到的下一个平台一定是确...原创 2019-08-02 10:42:47 · 152 阅读 · 0 评论 -
HDU-1074 Doing Homework (状压dp+进制hash)
题目: 传送门思路: 我们不妨先从贪心的角度出发,对于给定的 n个任务,我们肯定一个做完了以后立马再接着做另一个.所以可以得出来做完n个任务时的终止时间是固定的,即所有任务所需要的时间之和. 那我们不妨状态压缩,状态s表示已经有哪些任务已经做了,那么很明显s状态下一定有个...原创 2019-08-01 09:34:55 · 144 阅读 · 0 评论 -
HDU - 2844 Coin(多重背包转化为01背包)
题目链接:Coin题意: Whuacmers拥有bi个面值为ai的硬币,现在他要用这些硬币买价格不超过m的一个物品,问你最多能刚好能用硬币付钱的物品价格有几个(即该价格能用这些硬币凑出来)。思路: 看到多重背包问题,第一时间想到的是转化为01背包来做,即我们把这个物品能选取多次当成有多个相同的物品给我们选取,复杂度是o(m*(bi的和)),根据题目给出的数据范围,这个方法的复杂度是妥妥的TLE...原创 2019-03-14 01:23:25 · 330 阅读 · 0 评论 -
CodeForces - 984D XOR-pyramid(区间DP)
a原创 2019-03-11 02:08:38 · 222 阅读 · 1 评论 -
POJ - 3254 Corn Fields(状压DP入门)
题目: Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ≤ 12) square parcels. He wants to grow some yummy corn for the cows on a number of squares. Regrettab...原创 2019-03-16 15:12:41 · 258 阅读 · 2 评论 -
POJ - 1185 炮兵阵地(状压DP)
题目: 司令部的将军们打算在NM的网格地图上部署他们的炮兵部队。一个NM的地图由N行M列组成,地图的每一格可能是山地(用"H" 表示),也可能是平原(用"P"表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左...原创 2019-03-16 15:48:34 · 243 阅读 · 0 评论 -
CodeForces - 1077F1 Pictures with Kittens (easy version) (动态规划)
The only difference between easy and hard versions is the constraints.Vova likes pictures with kittens. The news feed in the social network he uses can be represented as an array of nn consecutive pi...原创 2019-03-13 15:40:11 · 372 阅读 · 0 评论 -
CodeForces 1140E-Palindrome-less Arrays(回文串+染色DP)
题目:传送门题意: 给你一个数组,数组中的-1可以变为1~k的任意数,我们要求不存奇回文串,问我们有多少种选法,答案对998244353取模.思路: 要求不存在奇回文串,说明相邻的偶数标号的数不相同(奇数同理).我们不妨用dp [i] [j]表示到i时选择第j个数的方案数.则数组{1,-1,-1,3,-1,5,-1,7},k为4时.奇序列1-1-1-11103...原创 2019-04-01 08:34:57 · 509 阅读 · 0 评论 -
HYSBZ 1026 windy数(数位DP)
题目: 点这里思路: 第二次刷到这题,感觉比第一次写流畅许多,不过还是出了个傻逼bug找了好久,还是要找个时间集中刷一下。 我数位DP采用的是记忆化搜索的形式(因为听说有结构体的数位dp),这道数位DP感觉很板子,没啥难点,就是有几个小细节要注意,详情看代码.AC_Code#include <iostre...原创 2019-05-23 10:20:38 · 146 阅读 · 0 评论 -
CodeForces-453B Little Pony and Harmony Chest(状压DP)
题目:传统们思路: 我们把每个数的质因子都压成状态,dp[i][j]表示在第i位已经是状态 j的最小和. 对于一个状态j如果其第k位为1,表示从2开始第k个质因子已经出现过.Ac_Code#include <iostream>#include <algorithm>#include...原创 2019-07-30 20:16:13 · 178 阅读 · 0 评论 -
CodeForces - 864E FIRE(附带限制条件01背包)
题目链接:CF-864E题意: Polycarp家中失火了,他有 N 个价值为 pi 的物品,每个物品需要 ti 时间才能保护下来,但是每个物品在失火开始的 di 时间之前没有保护的话就会坏掉,求他能保护的最大的价值总和.并且输出保存的物品和顺序.思路: 很明显的一道01背包题,但同时我们还要在取物品的时候记录一下.我们用 dp[i] 表示在失火后的 i 秒时所能保护的最大价值和,j表示第j...原创 2019-03-14 00:32:15 · 354 阅读 · 0 评论