
动态规划(DP)
文章平均质量分 84
寒江雪里独钓着的蓑笠翁
退役XCPCer,AI搬砖狗
展开
-
Petrozavodsk Winter 2018 - A. Mines - 线段树优化建图、强连通分量缩点、DP
题意: 一维数轴上有 nnn 个雷。第 iii 个雷在位置 pip_ipi。 花费 cic_ici 的代价可以引爆第 iii 个雷,并将区间 [pi−ri,pi+ri][p_i-r_i,p_i+r_i][pi−ri,pi+ri] 的范围的雷全部引爆,引起连锁反应而不需要额外的代价。现在又 qqq 次修改,每次修改一个雷的花费,然后询问使得所有雷爆炸的最小花费是多少。1≤n,q...原创 2019-10-16 22:20:41 · 305 阅读 · 0 评论 -
Codeforces - 500D. New Year Santa Network - 树形dp、数学、思维
New Year Santa Network 题目链接 分类:树形dp、思维、数学1.题意概述给你由n个节点构成的树,有(n-1)条边,随机选取其中三个节点a、b、c,定义dist=dis(a,b)+dis(b,c)+dis(c,a)dist=dis(a,b)+dis(b,c)+dis(c,a),现在有q次操作,每次选取某条边,使得它的边权由原先的wiw_i变成lil_i,问你每次原创 2017-07-05 18:47:25 · 320 阅读 · 0 评论 -
Codeforces - 831D. Office Keys - dp、二分+贪心
D. Office Keys 题目链接 分类:dp、二分、贪心1.题意概述一个坐标轴上有n个人,他们坐标分别为a[1...n]a[1...n],而且有k把钥匙坐标分别在b[1...k]b[1...k],现在办公室们在坐标为p的位置,每个人必须要拿到唯一一把钥匙进入办公室们,不同人之间不能共用,问你所有人进入办公室的最短时间是多少?数据范围:1 ≤ n ≤ 1 000,n ≤ k原创 2017-07-14 18:46:36 · 482 阅读 · 0 评论 -
Codeforces Round #371(Div.1)
Codeforces Round #371(Div.1) Copyright ©2017.7.1-2017.7.3 by Dove! All Rights Reserved.原创 2017-07-03 17:15:46 · 474 阅读 · 0 评论 -
CF - 813D. Two Melodies - dp
1.题目描述:D. Two Melodiestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAlice is a beginner composer a原创 2017-06-22 21:41:47 · 881 阅读 · 0 评论 -
CF - 812B. Sagheer, the Hausmeister - 暴力+dp
1.题目描述:B. Sagheer, the Hausmeistertime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputSome people leave t原创 2017-06-05 22:16:28 · 477 阅读 · 0 评论 -
CF - 808E. Selling Souvenirs - 01背包dp+排序+贪心/三分优化
1.题目描述:E. Selling Souvenirstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAfter several latest refo原创 2017-05-18 20:42:02 · 845 阅读 · 1 评论 -
CF - 580D. Kefa and Dishes - 状态压缩DP
1.题目描述:D. Kefa and Dishestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputWhen Kefa came to the resta原创 2017-05-06 14:54:01 · 331 阅读 · 0 评论 -
CF - 580A. Kefa and First Steps - dp思维
1.题目描述:A. Kefa and First Stepstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputKefa decided to make s原创 2017-05-06 14:19:32 · 402 阅读 · 0 评论 -
HDU5396 - Expression - 区间dp、组合数学
Expression 题目链接 分类:区间dp、组合数学1.题意概述给你n(2≤n≤100)n(2≤n≤100)个数和对应(n−1)(n-1)个操作符,你每次给操作符相邻两个数加括号直到运算结束,问你最终的方案结果数的和,答案模109+710^9+7。2.解题思路n个操作符,计算顺序的排列组合有n!n!种,根据n的范围显然搜索的复杂度是不能接受的,我们考虑区间dp:dp[i][j原创 2017-07-06 18:28:24 · 325 阅读 · 0 评论 -
LightOJ1125 - Divisible Group Sums - 背包dp
Divisible Group Sums 题目链接 分类:dp1.题意概述给你nn个数,要你从中挑选mm个,使得它们的和能够被DD整除。2.解题思路标准的动态规划,用dp[i][j][k][mod]dp[i][j][k][mod]表示前ii个数选了jj个,除数为kk,余数为modmod的情况,那么下一步选择就是选或者不选,实际上这就是一个01背包问题,转移方程: 选这个数:d原创 2017-07-07 12:10:29 · 285 阅读 · 0 评论 -
POJ1947 - Rebuilding Roads - 树形dp
Rebuilding Roads 题目链接 分类:dfs and similar trees dp1.题意概述给你一颗有nn个节点构成是树,现在要你删去最少的边,使得剩下连通的点构成的树刚好有pp个节点。2.解题思路容易想到是一个树形dp,dp[i][j]dp[i][j]表示以ii节点为根节点,得到jj个节点的子树需要去掉的最少边数,那么转移方程为:考虑其儿子kk选或者不选——原创 2017-08-07 16:33:09 · 273 阅读 · 0 评论 -
Grand Prix of Saratov - D. Elevator - DP
题意: 有一台电梯,可以容纳无限容量的人,初始在 0 层,每次可以移动到所载人群中 需要到达的最高层,并最终返回 0 层。每层移动时间为 1,忽略人进出时间。现在有 nnn 名按时间顺序到达 0 层电梯口的人,第 iii 个人将在 tit_iti 时刻到达电梯口,想去楼层 aia_iai。现在询问最短花费多少时间使得电梯将所有人运送玩并回到 0 层?1≤n≤2×1051\le n\le 2...原创 2019-09-21 19:23:12 · 355 阅读 · 0 评论 -
Codeforces487D - Conveyor Belts - 分块、记忆化搜索
D. Conveyor Belts题意: 给出一个二维 n×mn\times mn×m 的传送带地图,其中>字符表示当前位置 (x,y)(x,y)(x,y) 传送至 (x,y+1)(x,y+1)(x,y+1),<表示传送至 (x,y−1)(x,y-1)(x,y−1),^表示传送至 (x−1,y)(x-1,y)(x−1,y)。现在有 qqq 次询问,询问有两种类型,其中A x y表示询...原创 2019-09-05 21:51:14 · 435 阅读 · 0 评论 -
SoS-DP 学习笔记
reference: https://codeforces.com/blog/entry/45223前置技能: 状态压缩 DPSoS-DP 全称是 Sum over Subsets Dynamic Programming,即子集和 DP,属于状态压缩 DP 中的一个经典问题的优化。1. 问题引入求 f[s]=∑i∈sa[i]f[s]=\sum\limits_{i\in s} a[i]f...原创 2019-09-02 17:08:21 · 512 阅读 · 0 评论 -
Codeforces449D - Jzzhu and Numbers - 容斥、状压dp
D. Jzzhu and Numbers题意: 给出数列 a1,a2,⋯ ,ana_1,a_2,\cdots, a_na1,a2,⋯,an,询问有多少个子序列满足 ai1 & ai2 & ⋯ & aik=0a_{i_1}\ \&\ a_{i...原创 2019-04-23 21:55:59 · 294 阅读 · 0 评论 -
【牛客多校第一场】A - Monotonic Matrix
一、题意概述问你有多少个满足条件的 n⋅m (1≤n,m≤103)n·m (1≤n,m≤103)n·m\ (1\leq n,m\leq 10^3) 的矩阵 AAA,满足矩阵每个元素 Ai,j∈{0,1,2}Ai,j∈{0,1,2}A_{i,j}\in\{0,1,2\} 并且 Ai,j≤Ai+1,jAi,j≤Ai+1,jA_{i,j}\leq A_{i+1,j} 而且 Ai,...原创 2018-07-19 19:10:45 · 1241 阅读 · 1 评论 -
Codeforces403D - Beautiful Pairs of Numbers - 组合数学、dp
D. Beautiful Pairs of Numbers 分类: combinatorics dpDescription定义这一类数对 (a1,b1),(a2,b2),⋯,(ak,bk)(a1,b1),(a2,b2),⋯,(ak,bk)(a_1,b_1),(a_2,b_2),\cdots,(a_k,b_k) 是美丽的,当它满足:1≤a1≤b1<a2≤b2<⋯&...原创 2018-03-21 10:50:16 · 469 阅读 · 0 评论 -
Codeforces392E - Deleting Substrings - 动态规划
392E - Deleting Substrings 分类: dp题意: 有一长度为 n&nbsp;(1≤n≤400)n&nbsp;(1≤n≤400)n\ (1\leq n\leq 400) 的序列 W&nbsp;(1≤wi≤109)W&nbsp;(1≤wi≤109)W\ (1\leq w_i\leq 10^9) 和 V&nbsp;(0≤|vi|≤2000)V&nbsp;(0≤|vi...原创 2018-03-05 22:17:44 · 374 阅读 · 0 评论 -
Codeforces - 834D. The Bakery - dp + 线段树
D. The Bakery 题目链接 分类:data structures dp1.题意概述把n个数分成k段,每段的价值等于这一段内不同数字的个数,求总的最大价值。2.解题思路可以考虑动态规划,dp[i][j]dp[i][j]表示到第ii个数字已经分成jj段的最大值,那么容易得到转移方程为dp[i][j]=max(dp[k][j−1]),1≤k≤i−1dp[i][j]=max(原创 2017-08-05 20:55:13 · 336 阅读 · 0 评论 -
CF - 797E. Array Queries - dp+有选择地暴力
题目描述:E. Array Queriestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputa is an array of n posi原创 2017-05-03 23:02:18 · 447 阅读 · 0 评论 -
HDU3339 - In Action - 最短路+01背包dp
1.题目描述:In ActionTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5964 Accepted Submission(s): 2007Problem DescriptionS原创 2017-04-19 22:46:28 · 276 阅读 · 0 评论 -
POJ2559 - Largest Rectangle in a Histogram - 单调栈+DP
1.题目描述:Largest Rectangle in a HistogramTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 21083 Accepted: 6788DescriptionA histogram is a polygon c原创 2017-03-19 15:55:48 · 438 阅读 · 0 评论 -
HDU1159 - Common Subsequence - 动态规划+字符串
1.题目描述:Common SubsequenceTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 37149 Accepted Submission(s): 17011Problem Descrip原创 2017-03-02 22:17:12 · 217 阅读 · 0 评论 -
HDU2018 - 母牛的故事 - 动态规划
1.题目描述:母牛的故事Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 79731 Accepted Submission(s): 39606Problem Description有一头母牛原创 2017-03-02 22:08:00 · 383 阅读 · 0 评论 -
HDU2084 - 数塔 - 动态规划
1.题目描述:数塔Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 41225 Accepted Submission(s): 24503Problem Description在讲述DP算法的原创 2017-03-02 17:57:50 · 344 阅读 · 0 评论 -
HDU2476 - String painter - 区间dp+字符串处理
1.题目描述There are two strings A and B with equal length. Both strings are made up of lower case letters. Now you have a powerful string painter. With the help of the painter, you can change a segm原创 2017-03-02 17:55:31 · 348 阅读 · 0 评论 -
HDU2845Beans,最大不连续子序列
BeansTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4747 Accepted Submission(s): 2211Problem DescriptionBean-eating is an in原创 2017-02-14 22:20:18 · 384 阅读 · 0 评论 -
HDU2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活,多重背包+二进制优化
Problem Description急!灾区的食物依然短缺!为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买。请问:你用有限的资金最多能采购多少公斤粮食呢?后记:人生是一个充满了变数的生命过程,天灾、人祸、病痛是我们生命历程中不可预知的威胁。月有阴晴原创 2017-02-20 19:57:15 · 245 阅读 · 0 评论 -
HDU 1978 How many ways,动态规划
How many waysTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5132 Accepted Submission(s): 3026Problem Description这是一个简单的生存游戏,原创 2017-02-20 16:18:32 · 482 阅读 · 0 评论 -
HDU1058 Humble Numbers , dp(数组有序特性)
1.题目描述:Humble NumbersTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25098 Accepted Submission(s): 11074Problem Description原创 2017-02-18 23:03:21 · 300 阅读 · 0 评论 -
CF - 447C. DZY Loves Sequences - 动态规划
1.题目描述:C. DZY Loves Sequencestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputDZY has a sequ原创 2017-03-02 22:36:49 · 350 阅读 · 0 评论 -
HDU3732 - Ahui Writes Word - 动态规划之多重背包+二进制优化【经典】
1.题目描述:Ahui Writes WordTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3080 Accepted Submission(s): 1085Problem Description原创 2017-03-02 23:03:22 · 355 阅读 · 0 评论 -
HDU1171 - Big Event in HDU 动态规划之多重背包
1.题目叙述:Big Event in HDUTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 38791 Accepted Submission(s): 13417Problem Descript原创 2017-03-02 23:20:54 · 248 阅读 · 0 评论 -
HDU3427 - Clickomania - 区间dp+dfs+字符串处理
1.题目描述:ClickomaniaTime Limit: 20000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 628 Accepted Submission(s): 318Problem DescriptionC原创 2017-03-02 17:39:03 · 406 阅读 · 0 评论 -
POJ3624 - Charm Bracelet - 动态规划之01背包
1.题目描述:Charm BraceletTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 37185 Accepted: 16254DescriptionBessie has gone to the mall's jewelry原创 2017-03-11 20:59:50 · 314 阅读 · 0 评论 -
CFGym - 101147H. Commandos 动态规划
1.题目描述:H. Commandostime limit per test2 secondsmemory limit per test64 megabytesinputcommandos.inoutputstandard outputA commando is a soldier of原创 2017-03-11 20:42:18 · 310 阅读 · 0 评论 -
动态规划算法
一、基本概念动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决原创 2017-02-14 21:30:01 · 211 阅读 · 0 评论 -
HDU1081 - To The Max - 状态压缩DP【经典】
1.题目描述:To The MaxTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 12543 Accepted Submission(s): 6018Problem DescriptionG原创 2017-03-04 16:26:00 · 283 阅读 · 0 评论 -
HDU1078 - FatMouse and Cheese - 记忆化搜索+dfs
1.题目描述:FatMouse and CheeseTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9442 Accepted Submission(s): 3991Problem Descript原创 2017-03-04 16:21:26 · 225 阅读 · 0 评论