动态规划-线性dp
文章平均质量分 92
Zbr162
滑天下之大稽
展开
-
魔法 [动态规划]
魔法魔法魔法正解部分\color{red}{正解部分}正解部分设 F[i]F[i]F[i] 表示最后一刀切在 iii 位置, 右端点小于等于 iii 的所有区间都满足条件的最小花费,状态转移, 在 iii 位置切一刀, F[i]=min(F[l右端点小于i的区间中右端点最大的区间的左端点 ... i−1]+A[i])F[i] = \min(F[l_{右端点小于i的...原创 2019-11-11 16:59:25 · 302 阅读 · 0 评论 -
P3953 逛公园 [dp]
1原创 2019-11-07 12:00:08 · 143 阅读 · 0 评论 -
战胜序列 [性质dp]
战胜序列战胜序列战胜序列正解部分\color{red}{正解部分}正解部分设 F[i,a,b,c]F[i, a, b, c]F[i,a,b,c] 表示前 iii 项 , 分别以 0,1,20,1,20,1,2 为结尾的 最长战胜序列 长度为 a,b,ca, b, ca,b,c 的方案数,枚举状态, O(3)O(3)O(3) 转移, 总复杂度 O(N4)O(N^4)O(N4) .可以发...原创 2019-10-30 12:17:49 · 186 阅读 · 1 评论 -
区间 [动态规划]
/# 区间区间区间/## 正解部分\color{red}{正解部分}正解部分/## 实现部分\color{red}{实现部分}实现部分原创 2019-10-27 15:27:17 · 167 阅读 · 0 评论 -
没有名字 [整除分块优化dp]
#include<bits/stdc++.h>using namespace std;#define MOD 1000000007#define M 100005#define ll long longint n,m,ans,cnt;int L[M],R[M];ll f[105][M],g[105][M];int main(){ cin >> n ...原创 2019-10-25 20:30:00 · 252 阅读 · 0 评论 -
CF1204E Natasha, Sasha and the Prefix Sums [动态规划]
/# Natasha, Sasha and the Prefix SumsNatasha,\ Sasha\ and\ the\ Prefix\ SumsNatasha, Sasha and the Prefix Sums题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部...原创 2019-10-25 19:11:08 · 150 阅读 · 0 评论 -
P3158 [CQOI2011]放棋子 [动态规划]
/# 放棋子放棋子放棋子题目描述见链接 ./## 正解部分\color{red}{正解部分}正解部分设 F[i,j,k]F[i, j, k]F[i,j,k] 表示/## 实现部分\color{red}{实现部分}实现部分...原创 2019-10-23 21:13:10 · 142 阅读 · 0 评论 -
树 [虚树, 动态规划]
/# 树树树/## 正解部分\color{red}{正解部分}正解部分建出以 rrr 为根的 虚树, 将 关键点 按照 虚树 中的深度排序, 这样可以保证一个点的祖先全部在其前面,设 F[i,j]F[i, j]F[i,j] 表示前 iii 个点, 分为 jjj 组 的 方案数, g[i]g[i]g[i] 表示 iii 到 rrr 的路径上 关键点 的个数, 则F[i,j]=(i−g[...原创 2019-10-18 15:21:58 · 137 阅读 · 0 评论 -
最大公约数 [动态规划]
最大公约数最大公约数最大公约数正解部分\color{red}{正解部分}正解部分最优情况中, gcdgcdgcd 每次变化都是 质因数分解中的一个质因子次数减少 111, 所以 fmax(n)f_{max}(n)fmax(n) 为 [1,n][1, n][1,n] 中 质因数分解质数次幂的和 的 最大值 加上 111.首先 fmax(n)f_{max}(n)fmax(n) 分解质因数...原创 2019-10-17 22:00:41 · 275 阅读 · 0 评论 -
区间覆盖 [动态规划, 线段树]
区间覆盖区间覆盖区间覆盖正解部分\color{red}{正解部分}正解部分设 F[i]F[i]F[i] 表示 完全覆盖 [1,i][1, i][1,i] 的答案,考虑将区间按 左端点 从小到大 排序, 从左向右 枚举区间 进行状态转移, 设当前区间为 iii,可以初步得到状态转移方程 F[ri]=Vi ×∑j=li−1riF[j]F[r_i] = V_i\ \times\su...原创 2019-10-10 19:55:49 · 448 阅读 · 0 评论 -
限制公共子序列计数 [动态规划]
#include<bits/stdc++.h>#define reg registerint read(){ char c; int s = 0, flag = 1; while((c=getchar()) && !isdigit(c)) if(c == '-'){ flag = ...原创 2019-10-09 21:44:55 · 226 阅读 · 0 评论 -
Jerry [动态规划]
/# JerryJerryJerry/## 正解部分\color{red}{正解部分}正解部分首先可以将所有相邻的正数合并在一起, 不影响答案 .设 F[i]F[i]F[i] 表示从 iii 到 nnn 的数字能够达到的最大值,若 iii 后面为 减号:若 i+1i+1i+1 后面为 加号, 有 222 种选择,若 i+1i+1i+1 后面为 减号, 则在 i+1i+1i...原创 2019-09-09 14:22:44 · 143 阅读 · 0 评论 -
BZOJ1806 [Ioi2007]Miners 矿工配餐 [动态规划]
矿工配餐矿工配餐矿工配餐题目描述见链接 .正解部分\color{red}{正解部分}正解部分设 F[i,a,b,c,d]F[i, a, b, c, d]F[i,a,b,c,d] 表示送完第 iii 次餐车, 第一个矿坑使用的最后两个元素为 a,ba,ba,b, 第二个矿坑使用的最后两个元素为 c,dc,dc,d 所能获得的最优值,转移很显然:F[i,si,a,c,d]=F[i−1,a,...原创 2019-09-04 16:48:41 · 134 阅读 · 0 评论 -
BZOJ1801 [Ahoi2009]chess 中国象棋 [动态规划]
中国象棋中国象棋中国象棋题目描述见链接 .最初想法\color{grey}{最初想法}最初想法可以发现每行每列最多只能够放 222 个棋子 .设 F[i,j,a,b]F[i, j, a, b]F[i,j,a,b] 表示前 iii 行,前 jjj 列,第 iii 行放置了 aaa 个棋子, 第 jjj 列放置 bbb 个棋子的方案数, 发现不可行.正解部分\color{red}{正解...原创 2019-09-01 14:18:23 · 137 阅读 · 0 评论 -
P4977 毒瘤之神异之旅 [动态规划]
/# 毒瘤之神异之旅毒瘤之神异之旅毒瘤之神异之旅题目描述见链接 ./## 最初想法\color{blue}{最初想法}最初想法设 F[i,j]F[i, j]F[i,j] 表示将 jjj 划分为 iii 份的方案数, F[i,j]=∑F[i−1,j−k]F[i, j] = \sum F[i-1, j-k]F[i,j]=∑F[i−1,j−k] .发现这样会使得形如 1 1 3. 的方案算多次...原创 2019-08-27 22:21:19 · 116 阅读 · 0 评论 -
P1437 [HNOI2004]敲砖块 [dp]
敲砖块敲砖块敲砖块在一个凹槽中放置了 n 层砖块、最上面的一层有n 块砖,从上到下每层依次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示。14 15 4 3 23 33 33 76 2 2 13 11 22 23 31如果你想敲掉第 i 层的第j 块砖的话,若i=1,你可以直接敲掉它;若i>1,则你必须先敲掉第...原创 2019-08-18 10:45:11 · 194 阅读 · 0 评论 -
SP703 SERVICE_Mobile Service[动态规划]
SERVICE−Mobile−ServiceSERVICE-Mobile-ServiceSERVICE−Mobile−Service题目描述链接Solution以三个员工的位置作为状态, 第iii次询问作为阶段可以得出 DpDpDp 雏形dp[i,x,y,z]dp[i, x, y, z]dp[i,x,y,z]表示完成第iii次询问, 且员工位置分别在x,y,zx, y, zx...原创 2019-04-17 22:48:58 · 202 阅读 · 0 评论 -
CF10D LCIS[动态规划]
LCISLCISLCISDescription给出两个长度分别为N,MN, MN,M的数列, 求最长上升公共子序列的长度Solution设阶段为 i,ji, ji,j 表示第一个串前iii个元素与第二个串前jjj个元素 LCISLCISLCIS根据LCSLCSLCS的转移方程, 初步得出 :Ai==BiA_i == B_iAi==Bi时, dp[i,j]=dp[i−1][...原创 2019-04-18 22:50:16 · 204 阅读 · 0 评论 -
POJ3666 Making the Grade[动态规划]
Making−the−GradeMaking-the-GradeMaking−the−Grade原创 2019-05-31 00:48:08 · 201 阅读 · 0 评论 -
排列 [计数dp]
SOLUTION\mathbb{SOLUTION}SOLUTION 状态:F[i,j]表示前i项,递增序列最后一个元素为Ai的方案,递减序列最后一个元素为Aj的方案F[i, j] 表示前 i 项, 递增序列最后一个元素为A_i的方案, 递减序列最后一个元素为A_j的方案F[i,j]表示前i项,递增序列最后一个元素为Ai的方案,递减序列最后一个元素为Aj的方案G[i,j]表示前i项...原创 2019-05-26 15:45:51 · 390 阅读 · 0 评论 -
怪物猎人[贪心+dp]
Solution\mathcal{Solution}Solution 设当前砍到了第 222 个怪物,则 代价 为 (ai+d)(bi+d)=aibi+aid+dbi+d2=aibi+d(ai+bi)+d2(a_i+d)(b_i+d)=a_i b_i + a_i d + db_i+d^2=a_ib_i+d(a_i+b_i)+d^2(ai+d)(bi+d)=aibi+aid+db...原创 2019-05-18 20:55:49 · 322 阅读 · 0 评论 -
优化 [Test, 动态规划]
优化优化优化 Description\mathcal{Description}Description 给定长度为 NNN 的序列 {ai}\{a_i\}{ai}, 从中选出 KKK 个 不相交区间, 从左到右记它们的和为 s1,s2...sns_1, s_2...s_ns1,s2...sn,请最大化下述合式∑i=1k−1si−si+1\sum_{i=1}^{k-1} s_i-...原创 2019-06-15 22:04:25 · 151 阅读 · 0 评论 -
"陶陶" 摘苹果 (动态规划)
陶陶摘苹果陶陶摘苹果陶陶摘苹果 Description\mathcal{Description}Description Solution\mathcal{Solution}Solution 问题转化: 数轴上有若干点,从N个固定区间中选出K个,要求覆盖点数最多.数轴上有若干点, 从N个固定区间中选出K个, 要求覆盖点数最多.数轴上有若干点,从N个固定区间中选出K个,要求覆盖点数...原创 2019-06-11 21:02:31 · 280 阅读 · 0 评论 -
P3049 [USACO]园林绿化
1原创 2019-06-25 22:55:34 · 356 阅读 · 0 评论 -
P1800 software [dp+二分答案]
softwaresoftwaresoftware Description\mathcal{Description}Description 一个软件开发公司同时要开发两个软件,并且要同时交付给用户,现在公司为了尽快完成这一任务,将每个软件划分成m个模块,由公司里的技术人员分工完成,每个技术人员完成同一软件的不同模块的所用的天数是相同的,并且是已知的,但完成不同软件的一个模块的时间是不同的,...原创 2019-06-23 23:05:09 · 196 阅读 · 0 评论 -
CF573E Bear and Bowling [平衡树+动态规划]
Bear and BowlingBear\ and\ BowlingBear and Bowling题意与 这道题目 大致相同, 唯一不同的是所选序列可以在原序列中不连续, 即子序列 .最初想法\color{blue}{最初想法}最初想法设 F[i,j]F[i,j]F[i,j] 为第 iii 个数作为选出的 jjj 个数中最后一个数时的最优值,则 ...原创 2019-07-17 20:51:57 · 499 阅读 · 0 评论 -
田忌赛马 [贪心(完成) / 动态规划(待填坑)]
田忌赛马田忌赛马田忌赛马/## 最初想法\color{blue}{最初想法}最初想法设 F[i,j]F[i, j]F[i,j] 表示前 iii 场比赛, 使用的马属于前 jjj 匹马的最大收获,则 F[i,j]=max(F[i,j−1],F[i−1,j−1]+costj)F[i, j] = \max(F[i, j-1], F[i-1, j-1]+cost_j)F[i,j]=max(F[i...原创 2019-07-27 19:07:09 · 306 阅读 · 0 评论 -
石子 [SG函数+倍增优化dp+高精+FWT]
石子石子石子最初想法\color{blue}{最初想法}最初想法以下 NNN 表示 必胜态, PPP 表示 必败态,先考虑一堆石子, 手玩后发现奇数恒为 PPP, 偶数恒为 NNN,小证明: 奇数为 2n+12n+12n+1, 由于 奇∗奇=奇奇*奇=奇奇∗奇=奇, 所以去掉其中一个因子正解部分\color{red}{正解部分}正解部分实现部分\color{red}{实现...原创 2019-08-18 22:00:47 · 212 阅读 · 0 评论 -
POJ2279 Mr Young's Picture Permutations[动态规划]
POJ2279 Mr Young’s Picture PermutationsSolution原创 2019-04-14 11:54:32 · 279 阅读 · 0 评论