随笔分类 - D-动态规划-线性DP
摘要:比赛地址 前言 这场比较容易,但是D没在考场上做出来。考场上一直在找规律求解 \(f_i\) 数组,确没去想这是一个dp。第二天早上突然发现这题是dp。www。 A,B,C 太水了就不提了。 D 把这个问题简化为:给你 \(n\) 对关系,每对关系形如 \((a_i, a_i-b_i)\),意思是如
阅读全文
摘要:Problem 题目地址 Talk 压行会遭报应的,今天就遭报应了。再压行我 TM 扇自己十个耳光。 引入《圣经 - 马保国章》改编 这个 OIer$^1$ 为了方便,不讲码德。来骗,来压行,这正常的代码!这好吗?这不好。我劝,这个 OIer \(How's\ the\ whether,think\
阅读全文
摘要:Problem 题目地址 Solution 前置知识 中缀转后缀 中缀表达式求值(栈) 中缀表示式序列可以转化成一棵二叉树。发现计算概率可以转化成计数,在二叉树上做一个树形DP就好了。 Code Talk is cheap.Show me the code. #include<bits/stdc++
阅读全文
摘要:Problem 题目地址 Solution 考虑一个简化版问题:给定长度为 \(m\) 的字符串 \(S\),和一些模式串 \(c_i\),问有多少种方案拼成 \(S\)。 **思路:**设 \(f[i]\) 表示有多少种方案拼成 \(S[1...i]\),那么有转移 \(f[i]=\sum_{c_
阅读全文
摘要:Problem 题目地址 Solution 对题目的操作进行一个转换: 每次可以花费 \(A\) 的代价将一个数向右移到任意一个位置 每次可以花费 \(B\) 的代价将一个数向左移到任意一个位置 设 \(f[i,j]\) 表示将 $1 \sim i$ 变为升序,且最后一个没有改变位置的元素是 \(j
阅读全文
摘要:前言 2020暑假,回归OI。这两个dp难度比较低,但有一定价值,写个归纳总结。 线性dp小总结(优化) 洛谷P4933 大师 题目地址 看懂题目后,容易列出dp方程: \(f(i,j)\) 表示以 \(i\) 结尾,公差为 \(j\) 的等差数列方案数。 \(f(i,j) = \sum_{\{k
阅读全文
摘要:题目地址 洛谷CF1272F Solution 首先题目中有两个括号串 \(s\) 和 \(t\) ,考虑先设计两维表示 \(s\) 匹配到的位置和 \(t\) 匹配到的位置。 接着根据 括号dp的一般套路:设计一维表示当前栈中的左括号数量 (ygt大佬喜欢形象地把其称为 “前缀和”),所以状态就出
阅读全文
摘要:前言 全网唯一不同题解 设 \(f[i][j]\) 表示第 \(i\) 次选取留下来的数是 \(k\) 的最小花费 枚举前面的留下来的点 \(k\) 当前能留下的点只有 \((2*i),(2*i+1),k\) 中的一个,时间复杂度 \(O(n^2)\) 选取次数是 \(n/2\) 向上取整。因为最后
阅读全文
摘要:前言 这题还是有点意思的。 题意: 给你 \(n\) (\(n<=3000\)) 个弹珠,它们位于数轴上。给你弹珠的坐标 \(x_i\) 在弹珠 \(i\) 上面花费 \(C_i\) 的钱 可以使弹珠在原地不动 (\(-10^9<=x_i,C_i<=10^9\)),游戏开始时,所有的弹珠向左滚动,直
阅读全文
摘要:CF 2000 的dp题目还是有点难qwq 题意: 一行有$n$个空位,每个空位可以填$[1,4]$的整数,要求: 1.有$t$个位置满足 \(ai−1<ai>ai+1(1<i<n)\) 2.有$t−1$个位置满足 \(ai−1>ai<ai+1\) 的方案总数 题解: 设 \(f[i][j][k][
阅读全文
摘要:前言 从后往前刷 update 新增 \(\text{\color{red}{Mark}}\) 标记功能,有一定难度的题标记为 \(\text{\color{red}{红}}\) 色。 题单 (刷过的题就会登记在上面) 2B The least round way 只有 $2a*5b$ 尾随'$0$
阅读全文
摘要:动态规划学习 前言 以前我也算是接触过一点DP,陆陆续续学了一些背包问题,线性动规和区间动规。现在我再次发现了动规的重要性,决定在暑假里专门刷一些动规题。这篇blog主要记录我刷过的一些DP题。 引用 _皎月半撒花 大佬的一段话 动态规划自古以来是$dalao$凌虐萌新的分水岭,但有些$OIer$认
阅读全文

浙公网安备 33010602011771号