随笔分类 -  算法基础:动态规划

摘要:本文学习自洛谷社区 喜提CCPC2021网络赛原题 题意相当于是要在每一列中选若干个砖块打掉,消耗所需的子弹数并得到对应的得分。最大化k个子弹能得到的最大得分。 预处理出第 ij 个子弹能得到的最大得分,记为sum[i][j],那么这可以转为一个分组背包问题。但一个小问题是 阅读全文
posted @ 2021-09-01 15:39 RioTian 阅读(79) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2021-08-27 15:05 RioTian 阅读(0) 评论(0) 推荐(0) 编辑
摘要:【前言】 在补Codeforce的DP时遇到一个比较新颖的题,然后在知乎上刚好 hycc 桑也写了这道题的相关题解,这里是作为学习并引用博客的部分内容 这道题追根溯源发现2016年这个算法已经在APIO2016烟花表演与Codeforces 713C引入,自那之后似乎便销声匿迹了。相关题型数量也较少 阅读全文
posted @ 2021-08-24 17:00 RioTian 阅读(556) 评论(0) 推荐(1) 编辑
该文被密码保护。
posted @ 2021-08-23 17:22 RioTian 阅读(2) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2021-08-19 14:31 RioTian 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2021-08-18 14:58 RioTian 阅读(3) 评论(0) 推荐(0) 编辑
摘要:问题链接:Here 长度为 N 的数列 A1AN 。回答满足以下条件的长度 N 的数列 X1XN 的个数除以 998244353 的余数。 1XiAi XiXi+1 \(2\ 阅读全文
posted @ 2021-08-08 21:15 RioTian 阅读(161) 评论(0) 推荐(0) 编辑
摘要:写在前面 深感自己 DP 很弱的 村人B 刷了点 DP 题,题集地址戳这里。 后记:刷完后感觉自己又行了 A - Frog 1 题意 给定 n 个石头,第 i 个石头的高度为 hi。现在要求小青蛙从 1 号石头跳到 n 号石头,每次小青蛙可以选择从 i 号石头跳到 i+1 或 i+ 阅读全文
posted @ 2021-08-03 14:07 RioTian 阅读(947) 评论(1) 推荐(0) 编辑
摘要:基本的知识点引用自 OI wiki,感谢社区的帮助 什么是区间 DP? 区间类动态规划是线性动态规划的扩展,它在分阶段地划分问题时,与阶段中元素出现的顺序和由前一阶段的哪些元素合并而来有很大的关系。令状态 f(i,j) 表示将下标位置 ij 的所有元素合并能获得的价值的 阅读全文
posted @ 2021-07-30 20:49 RioTian 阅读(223) 评论(1) 推荐(0) 编辑
摘要:本文学习自 Sengxian 学长的博客 之前也在CF上写了一些概率DP的题并做过总结 建议阅读完本文再去接着阅读这篇文章:Here 期望经典问题入门题集 前言 单纯只用到概率的题并不是很多,从现有的 OI/ACM 比赛中来看,大多数题目需要概率与期望结合起来(期望就是用概率定义的),所以本文主要讲 阅读全文
posted @ 2021-07-23 21:37 RioTian 阅读(4613) 评论(2) 推荐(1) 编辑
摘要:描述 某一天 WJMZBMR 在打 osu~~~ 但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则: 有 n(n300000) 次点击要做,成功了就是 o,失败了就是 x,分数是按 comb 计算的,连续 a 个 comb 就有 a2 分,com 阅读全文
posted @ 2021-07-22 21:29 RioTian 阅读(128) 评论(0) 推荐(0) 编辑
摘要:悬线法 什么是悬线法? 悬线法是用来解决最大子矩形问题的有力武器,它的思想很简单,代码也很好写。 悬线法的适用范围是单调栈的子集。具体来说,悬线法可以应用于满足以下条件的题目: 需要在扫描序列时维护单调的信息; 可以使用单调栈解决; 不需要在单调栈上二分。 看起来悬线法可以被替代,用处不大,但是悬线 阅读全文
posted @ 2021-07-21 15:05 RioTian 阅读(1252) 评论(0) 推荐(2) 编辑
摘要:补题链接:Here 算法涉及:位运算,DP 这道题想了很久但实在没想什么巧妙的解法,暴力的代码就不放,这里引用Kur1su 的思路 异或问题优先考虑二进制位,对于这个问题,我们需要考虑偶数长度的区间,那么先对 [L,R] 做处理,因为如果 L,R 是奇数其实加一/减一没有区别。然后 阅读全文
posted @ 2021-05-26 20:53 RioTian 阅读(76) 评论(0) 推荐(0) 编辑
摘要:计数类 dp 可分为 计数 dp 和数位统计 dp。大多是用来统计方案数什么的,特别强调 不重不漏,在此还是根据各个题的特点将计数 dp 和数位 dp 分开整理。其实数位 dp 的题目会相对多很多… 计数dp 模板题 AcWing 900.整数划分 重点: 计数 dp、完全背包问题抽象 首先模拟下样 阅读全文
posted @ 2021-05-14 18:57 RioTian 阅读(135) 评论(0) 推荐(0) 编辑
摘要:补题链接:Here 计数DP讲解:Here 这是一个计数类的dp dp[i][j]表示前i个数字中,删除j个元素的方案数 很容易得到转移方程:f[i][j]=f[i1][j1]+dp[i1][j] 意思就是前i个删除j个,要么从前i-1个中删除了j-1个,等于第i个 阅读全文
posted @ 2021-05-11 14:49 RioTian 阅读(69) 评论(0) 推荐(0) 编辑
摘要:学习自AcWing的一位学长的分享和《算法竞赛进阶指南》 斜率优化DP的前置知识点:求过两点的一次函数的斜率… 已知两点 (x1,y1),(x2,y2) 对于待定方程:y=kx+bk=y1y2x2x1 故事围绕着《算 阅读全文
posted @ 2021-05-08 10:41 RioTian 阅读(167) 评论(1) 推荐(0) 编辑
摘要:文章来自 OI wiki ,转载仅作学习使用 动态规划应用于子问题重叠的情况: 要去刻画最优解的结构特征; 尝试递归地定义最优解的值(就是我们常说的考虑从 i1 转移到 i); 计算最优解; 利用计算出的信息构造一个最优解。 钢条切割 给定一段钢条,和不同长度的价格,问如何切割 阅读全文
posted @ 2021-04-26 21:19 RioTian 阅读(631) 评论(0) 推荐(0) 编辑
摘要:题目链接:Here 遇到这种数据范围较小的计数问题应该优先考虑dp,本题就是如此。 那么应该怎么样考虑转移呢? 首先最后C中的那个价值最大的子串一定是由字符串A的一个区间和字符串B的一个区间合并得到的, 那么现在假设 A[i] ~ A[j]与 B[k] ~ B[l] 构成了一个回文串(这里设 dp[ 阅读全文
posted @ 2021-04-06 14:37 RioTian 阅读(121) 评论(0) 推荐(0) 编辑
摘要:前言 数塔问题,又称数字三角形、数字金字塔问题。数塔问题是多维动态规划问题中一类常见且重要的题型,其变种众多,难度遍布从低到高,掌握该类型题目的算法思维,对于攻克许多多维动态规划的问题有很大帮助。 当然你可能已经发现过我以前发布过的博客:教你彻底学会动态规划——入门篇 中已经详细讲解了数字三角形,当 阅读全文
posted @ 2021-01-21 16:02 RioTian 阅读(641) 评论(0) 推荐(1) 编辑
摘要:起因:在一场训练赛上。有这么一题没做出来。 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6829 题目大意:有三个人,他们分别有XYZ块钱(1<=X,Y,Z<=1e6),钱数最多的(如果不止一个那么随机等概率的选一个)随机等可能的选另 阅读全文
posted @ 2020-12-10 20:35 RioTian 阅读(2226) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示