
dp
Junwinds
中国科学院大学
展开
-
从 线段树维护区间最大子段和 浅谈 DDP 【程序设计竞赛】
题意:n≤1e5,m≤1e5n\le 1e5,m\le 1e5n≤1e5,m≤1e5,每次支持单点修改,求区间内的最大子段和(不能为空)引言相信用线段树维护左边最大,右边最大的分治做法大家都会,我们来思考一下DDP怎么做这个题。先列出dp方程,f[i][1]表示从1选到i,i必须选的产生的最大子段和,f[i][0]:i可以不选。f[i][1]表示从1选到i,i必须选的产生的最大子段和,f[...原创 2019-11-15 20:43:00 · 404 阅读 · 0 评论 -
[NOI2009]二叉查找树【区间dp+treap理解】
洛谷P1864SOL题目构造了一个权值不随机的非旋treap,我们可以思考替罪羊树的重构方式。(好像同时出现了三种平衡树。。。)我们模拟一下递归建树的过程。假如最后已经修改好了权值,我们按照数据值总小到大排序,得到一个序列。对于当前 区间 [l,r][l,r][l,r],在其中找到一个权值最小的点(设为第kkk个)作为根, 再对区间[l,k−1][l,k-1][l,k−1]和区间[k+1...原创 2019-11-07 11:43:55 · 223 阅读 · 0 评论 -
[PKUWC 2018]Minimax 【线段树合并优化dp】
LOJ2537SOLdp式子:f[U][rank−j−inU]=f[V][rank−k−inV]∗(P∗∑i=1k−1f[V][i]+(1−P)∗∑i=k+1totVf[V][i])f[U][rank-j-inU]=f[V][rank-k-inV]*(P*\sum_{i=1}^{k-1} f[V][i]+(1-P)*\sum_{i=k+1}^{tot_V}f[V][i])f[U][rank...原创 2019-11-04 20:52:24 · 448 阅读 · 1 评论 -
[YNOI2019]游戏【概率dp+高斯消元】
P5415SOL对于我这样的“wen” “mang”,这题意可能有点太简略了。。参照了 @ i_m_a_大佬的题解才理解题意。。简述一下题意:每次选出序列的前4个,从中等概率产生一个赢家,留在原地,剩下三个按照原来的相对位置挪到序列末尾。依次循环,知道有一个人连续赢了m场,游戏结束。问初始序列中第k位置的人(我们称作目标点)连续赢m次的概率。用高斯消元求出概率dp方程式不难发现,我...原创 2019-11-04 19:18:18 · 319 阅读 · 0 评论 -
[SDOI2008]山贼集团【树上背包+状压】
洛谷P2465SOL比较经典的一类树上背包问题套一个子集状压枚举。注意到代价的计算与所选的点的集合有关,如果我们要统计代价需要状压记录点集,而数据范围非常配合的给了P≤12P\le12P≤12,直接状压当前子树包含的点集。从叶子向根dp,对于TTT个限制,预处理出每一个点集SSS所产生的收益,并把路径拆成一个一个点,在向根转移的时候分开算贡献,及将子树的贡献算出,只考虑当前这个点对应的点...原创 2019-11-04 09:11:37 · 193 阅读 · 0 评论 -
LOJ3057[HNOI2019]校园旅行【dp+优化建图】
LOJ3057SOL30pts从构造路径的角度思考,难以入手。总点数能实现O(n2)O(n^2)O(n2)算法,转换思路,从中间向两边接点,构造回文串。设f[i][j]f[i][j]f[i][j]表示i,ji,ji,j点对能否作为回文路径的两端。故枚举i,ji,ji,j的边尝试转移。不难发现这样做总复杂度是O(m2)O(m^2)O(m2)(每一对"边"最多被拿出两次)100pt...原创 2019-10-31 11:31:48 · 187 阅读 · 0 评论 -
NOIP2017 宝藏 【状压dp】
P3959SOL不错的一道简单树论状压dp一句话题解:状压枚举每一层节点计算贡献,dp出答案。(或者深搜)说具体一点,发现贡献和深度有关,加上巨小无比的数据范围,我们可以记录前一颗树的节点和深度,枚举下一层地节点,把树一层一层地填出来。只需要预处理出 :把点集S1和S2连边的边权和最小值即可,顺便判一下合法性\text{把点集S1和S2连边的边权和最小值即可,顺便判一下合法...原创 2019-10-25 10:22:25 · 181 阅读 · 0 评论 -
P4426 [HNOI2018] 毒瘤 【虚树+dp / DDP】
P4426SOL敲了3小时虚树,突然发现这是一道ddp板题。。。看来最近和板子挺有缘的。。transfer the probelem:\text{transfer\ the\ probelem}:transfer the probelem:在有10条多余边的树上求点独立集个数。基于原树思考。先求出n−1n-1n−1条边的fff值。剩下的边最...原创 2019-10-24 22:14:56 · 196 阅读 · 0 评论 -
BZOJ1226 学校食堂 【状压dp】
WOJ2171SOL就当是复习一下状压dp吧理清楚过程。 相当于有一个最前面的没拿饭的人卡在那里,由于∀ bi≤7\forall \ b_i\le7∀ bi≤7,我们可以状压最前面的人和他的后面777个人(一共8个人)吃饭没有。由于算代价需要前一个吃饭的人,我们再用题目性质,记录前一个吃饭的人和当前人的相对位置即可。(注意有负数,要整体位移)f[i][...原创 2019-10-23 20:30:33 · 132 阅读 · 0 评论 -
BZOJ2037 Sue的小球 【区间dp】
WOJ2039SOL区间dp得好好理解一下了。。我们注意到yyy坐标的限制是不存在的。minimize:Delta=∑t[i]∗v[i]minimize:Delta=\sum t[i]*v[i]minimize:Delta=∑t[i]∗v[i]考虑子问题,按xxx坐标排序后,一段点被走完后只会停在最左端或者最右端,再“扩展段长”不放设:f[0/1][i][j],表示i到j走...原创 2019-10-21 20:18:30 · 133 阅读 · 0 评论 -
P2114 [NOI2014]起床困难综合症 【dp】
P2114SOL休闲娱乐玩dp。关于解法,读完题目后写代码就行了。一道有质量的洛谷蓝题CODE#include<bits/stdc++.h>using namespace std;#define sf scanf#define pf printf#define ll long long#define cs const#define db double#de...原创 2019-10-21 15:15:34 · 141 阅读 · 0 评论 -
P2150 [NOI2015]寿司晚宴【状压dp】
洛谷P2150SOL两两互质:对于同一个质因数的倍数不能选在同一集合内。状压A,BA,BA,B所选的集合的质因数情况。即为f[S1][S2]f[S_1][S_2]f[S1][S2]。预处理出每一个数包含的质因数,也是状压。枚举当前数选在 A或B或不选。{f[i][S1∣k][S2]+=f[i−1][S1][S2]f[i][S1∣k][S2]+=f[i−1][S1][S2]...原创 2019-10-21 15:11:34 · 177 阅读 · 0 评论 -
P2536 [AHOI2005]病毒检测 【LCS型dp】
洛谷P2536SOL在ac自动机上,用 fft实现通配符区间匹配?还是别折腾了。咱先看看数据范围:len≤500,n<500len\le500,n\lt 500len≤500,n<500,这是啥?一个个匹配就行了。。。思考一下我们刚学dp时的LCSLCSLCS问题,即longest common sequencelongest\ common\...原创 2019-10-16 15:58:49 · 203 阅读 · 0 评论 -
【LOJ575】「LibreOJ NOI Round #2」不等关系 【容斥+分治NTT】
LOJ575SOL1,将原序列看成一段一段的连续的小于符号的区间(数字单增)。2,不考虑大于符号,方案数为n!∏leni!{n!\over \prod len_i!}∏leni!n!;3,加入大于符号的影响。设f[i]:前i个元素的合法序列的方案数f[i]:前i个元素的合法序列的方案数f[i]:前i个元素的合法序列的方案数从最近的一段单增区间枚举,即枚举最近的大于符号的位置,...原创 2019-10-11 20:54:48 · 546 阅读 · 0 评论 -
loj2552 [CTSC2018] 假面 【概率dp】
题面SOL做法貌似挺多? (比如多项式)比较水的 一道模拟型的概率dp;首先我们read the problemread\ the\ problemread the problem,然后make a draftmake\ a\ draftmake a draft,然后ACACAC。其实中间背包dp的...原创 2019-09-29 18:36:12 · 186 阅读 · 0 评论 -
[SHOI2012]随机树 洛谷P3803 【期望dp】
题面SOL分两个问题讨论;Q1 :显然的期望dp定义式 :f[i]:第i步的期望平均叶子深度f[i]:第i步的期望平均叶子深度f[i]:第i步的期望平均叶子深度,转移方程: f[i]=f[i−1]∗(i−1)+f[i−1]+2i,−>f[i]=f[i−1]+2i.{f[i]={f[i-1]*(i-1)+f[i-1]+2}\over{i}},->f[i]=f[i-1]+{2\o...原创 2019-09-22 21:41:59 · 221 阅读 · 1 评论 -
NOIP模拟 闲荡【拓扑序+概率dp】
介于本校OJ,题面如下:SOL一、不存在一个点,满足从它出发能走回来,换而言之,此题为有向无环图 DAGDAGDAG,可能是拓扑排序然后dp,接下来思考dp。二、思考状态定义,求异或和无法直接用期望转移。分析异或运算的特点,将两数拆分成二进制,按位 相同则0,不同则1,即每一位相互独立,互不影响, vi≤1e9v_{i}\le1e9vi≤1e9 ,最高不过30位,可以按位计算概率。...原创 2019-07-31 22:12:41 · 186 阅读 · 0 评论 -
Codevs1273:风战 【计算几何+dp】
传送门SOL注意看清楚题面:y≥0y\ge0y≥0可以以点为单位转移,也可以像我这样以边为单位转移。按边的极角排序,用vector d[i]存下以i点为终点的所有线段,每次枚举线段用dp转移即可。dp[i]=max(dp[j])+val[i]dp[i]=max(dp[j])+val[i]dp[i]=max(dp[j])+val[i]以边为单位,代码丑。。可以以点为单位,预处理原点与...原创 2019-08-03 17:05:46 · 215 阅读 · 0 评论 -
#3563本校woj 统计序列 【dp】
#3563 统计序列描述给你m个不同数字,然后用这些数字组成长度为n的序列,且保证至少有长度&amp;gt;=k的一段相同数字的方案数。输入3个整数N,M,K输出一行,输出的答案值MOD 1e9+7样例输入3 2 2样例输出6提示【数据规模】70%:N,K&amp;lt;=1000100%数据:1&amp;lt;=N,M,K&amp;lt;=1e6思路: 显然计数dp注意直接处理大于等于k的不如容...原创 2019-01-26 22:06:03 · 177 阅读 · 0 评论 -
数位dp入门 “不要62” 学校woj1515
题面://///////////////////////////////////////////////////////////////////////////////////YK2016noip惨跪,他依稀记得他的准考证号是62,现在YK又将要面临一场比赛,他希望准考证号不出现62(连续),同时他又十分讨厌4,所以也不希望4出现在准考证号中。。。现在他想知道在A和B之间有多少合法的准考证号...原创 2019-01-22 14:03:58 · 159 阅读 · 0 评论 -
数位dp入门 本校woj#1120 数字计数
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////描述给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。//////////////////...原创 2019-01-22 14:11:16 · 170 阅读 · 0 评论 -
Ccodeforces311B cats Transport 【斜率优化 dp】
#3886 Cats Transport//////////////////////////////////////////////////////////////////////////////////////////////////////////////描述小 S 是农场主,他养了 M 只猫,雇了 P 位饲养员。农场中有一条笔直的路,路边有 N 座山,从 1 到 N 编号。第 i 座山...原创 2019-02-08 15:22:19 · 401 阅读 · 0 评论 -
#1842 道路游戏 【dp+现代科技文阅读】
描述:(这道题的最大考点:现代科技文阅读)小新正在玩一个简单的电脑游戏。游戏中有一条环形马路,马路上有 n 个机器人工厂,两个相邻机器人工厂之间由一小段马路连接。小新以某个机器人工厂为起点,按顺时针顺序依次将这 n 个机器人工厂编号为1~n,因为马路是环形的,所以第 n 个机器人工厂和第 1 个机器人工厂是由一段马路连接在一起的。小新将连接机器人工厂的这 n 段马路也编号为 1~n,并规定第...原创 2019-02-11 22:35:13 · 140 阅读 · 1 评论 -
#2331 桌子 【dp+数学】
描述xxx 新买了一张 n × m 的矩 (桌) 阵 (子),他想给某些 1 × 1 的小矩形染色,使得染色之后,原矩阵的每 个 n × n 的子矩阵中都包含恰好 k 个被染色了的小矩形他想知道有多少种染色方案能让他满足上述要求 因为答案可能很大,请输出方案数模 1000000007 (1e9 + 7) 后的值输入输入第一行包含三个整数 n, m, k 意义如题面所示对于 15% 的数据...原创 2019-02-12 00:11:08 · 206 阅读 · 0 评论 -
#1516 Amount of degrees 【数位dp】
描述求给定区间[X,Y]中满足下列条件的整数个数:这个数恰好等于K个互不相等的B的整数次幂之和。例如,设X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意:17 = 24+20,18 = 24+21,20 = 24+22。输入第一行包含两个整数X和Y。接下来两行包含整数K和B。输出只包含一个整数,表示满足条件的数的个数。样例输入 [复制]15 2022样例...原创 2019-02-13 16:52:36 · 195 阅读 · 0 评论 -
BZOJ 1799 self同类分布【数位dp】
传送门思路:“数字之和整除原数”·············一股浓厚的小学数学的气息。。第一维 :位数 第二维:个位数字总和最开始可能会想去推点数论结论方便直接转移,发现只有位数 和 总和 难以实现”拼数“突然发现 取模 可以表示除法的结果 ,把数字总和看成mod,两个数模数相加 等于 mod 即 整除 (这个好像是常规操作。。)所以在后面递归拼数的过程中原始思路方程...原创 2019-03-09 12:38:43 · 144 阅读 · 0 评论 -
BZOJ4521「CQOI2016」手机号码 【数位dp】
传送门思路:比较基础的数位dp ,维护的条件也很明显,前导零也很好处理代码:#include&amp;lt;bits/stdc++.h&amp;gt;#define pf printf#define sf scanf#define gc getchar()using namespace std;#define int long longint f[15][15][10][2][2...原创 2019-03-09 18:41:39 · 213 阅读 · 0 评论 -
#2104 叶子的颜色 【树形dp】
(题面可自行跳过)描述给一棵m个结点的无根树,你可以选择一个度数大于1的结点作为根,然后给一些结点(根、内部结点和叶子均可)着以黑色或白色。你的着色方案应该保证根结点到每个叶子的简单路径上都至少包含一个有色结点(哪怕是这个叶子本身)。对于每个叶结点u,定义c[u]为从根结点到u的简单路径上最后一个有色结点的颜色。给出每个c[u]的值,设计着色方案,使得着色结点的个数尽量少。输入第一行包...原创 2019-03-07 23:52:50 · 370 阅读 · 0 评论 -
HDU4507 恨7不成妻【数位dp】
传送门思路:比较基础的一道数位dp,只是平方和的维护要思考一下loc: 当前位置q:当前数位的数字a:之前满足条件的数b:当前满足条件的数b=q∗10loc−1+ab= q*10^{loc-1}+ab=q∗10loc−1+ab2=(q∗10loc−1+a)2b^2=(q*10^{loc-1}+a)^2b2=(q∗10loc−1+a)2有∑b2=∑a2+∑b2+∑2∗a∗b\s...原创 2019-03-13 12:08:23 · 139 阅读 · 0 评论 -
概率入门 骰子
PROBLEM骰子是一个六面分别刻有一到六点的立方体,每次投掷骰子,理论上得到1到6的概率都是1/6有骰子一颗,连续投掷n次,问点数总和大于等于X的概率是多少SOURCE1<=N<=24,0<=X<150SOLf[i][j] 步数为i,总和为j的总情况数最后答案: ∑x6∗nf[i]/6n\sum _x^{6*n}f[i]/6^n∑x6∗nf[i]/6...原创 2019-04-06 08:55:40 · 3286 阅读 · 0 评论 -
BZOJ4518「SDOI2016」征途
传送门SOLtips:方程:f[m][n]f[m][n]f[m][n]:第m天在n点的 方差*m^2 的最小值P[m][n]P[m][n]P[m][n]第m天在n点的 分成 m份的 平方和的 最小值(a12+a22+...+an2a_1^2+a_2^2+...+a_n^2a12+a22+...+an2)f 有:f[d][i]=d∗P[d−1][j]+d∗(sum[i]...原创 2019-04-19 21:38:58 · 158 阅读 · 0 评论 -
[TJOI2018] str 碱基序列 【kmp/sam+dp】
传送门SOL题意:kkk组字符串,每组aka_{k}ak个每组选一个,按顺序拼接,形成新串,求不同的新串在给定串SSS中不同的匹配次数之和。k<=100ANDak<=10k<=100ANDa_{k}<=10k<=100ANDak<=10一、SAM+DP子串出现总数,为SSS的samsamsam上的endposend...原创 2019-07-14 15:35:53 · 295 阅读 · 0 评论 -
[NOI2019]DAY1T1回家路线route【斜率优化dp】
传送门SOL题意:长度为n的路径上有m辆车,每辆车iii有起点xix_{i}xi, 终点yiy_{i}yi, 上车时间pip_{i}pi, 下车时间qiq_{i}qi 。问从111点上车,通过换乘到达nnn号点的最小代价。注意:只能在下车点上车。虽然不满足xi<yix_{i}<y_{i}xi<yi,但是有时间限制且pi<qi...原创 2019-07-16 17:18:24 · 442 阅读 · 0 评论 -
sequence 校内woj4320 【dp+hash二分+前缀和优化】
题面///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////给定一个长度为nn 的由[′0′..′9′][′0′..′9′] 组成的字符串ss ,v[i,j]v[i,j] 表示由字符串ss 第ii 到第jj 位...原创 2019-01-20 22:59:18 · 1160 阅读 · 0 评论