dp
文章平均质量分 77
lcc_cat
呵呵
展开
-
[转]股票买卖
股票买卖描述最近越来越多的人都投身股市,阿福也有点心动了。谨记着“股市有风险,入市需谨慎”,阿福决定先来研究一下简化版的股票买卖问题。 假设阿福已经准确预测出了某只股票在未来 N 天的价格,他希望买卖两次,使得获得的利润最高。为了计算简单起见,利润的转载 2016-07-25 10:36:13 · 496 阅读 · 0 评论 -
BZOJ3222 Hotel&BZOJ4543 Hotel加强版
题目一棵树,找到三个点他们两两之间距离相同题解O(N2)O(N^2)O(N2)定义f(u,d)表示以u为根的子树中,与u距离为d的节点数g(u,d)表示以i为根的子树中,已经找到了两个点,如果在u子树外找到一个距u为d的点就能成为一个合法方案的这两个点的无序点对数可有转移方程f[u][i]+=f[v][i−1]f[u][i]+=f[v][i-1]f[u][i]+=f[v][i−1]...原创 2019-01-08 08:13:42 · 199 阅读 · 0 评论 -
bzoj 3864 Hero meet devil
题意一个脱氧核苷酸链只由AGCT组成,以下讨论的串都只有AGCT现在给出一个串S,问你对于i∈[0,|S|]有多少个长度为m的串T满足LCS(S,T)=i|S|<=15 m<=1000题解直观的想法是dp套kmp?反正下面讲的是dp套dp内层的dp是个显然的LCS盗个图我们观察这个转移式,可以发现只会用到两行的信息,而且同一行相邻两个之间相差不超过1那就很好办了,...原创 2018-12-26 12:20:37 · 334 阅读 · 0 评论 -
bzoj 4726 [POI2017]Sabota?
题意题解二分答案x,然后用树形dp check即可具体一点,d[i]表示i为根的子树下最多有多少个叛徒放个代码void dp(int u){ if(sz[u]==1){ d[u]=1; return ; } d[u]=1; for(int i=head[u];i;i=edge[i].nxt){ int v=...原创 2018-12-26 09:52:23 · 186 阅读 · 0 评论 -
bzoj 4922 Karp-de-Chant Number
题意给出n个括号序列,你从中选出若干个并以任意方式拼接得到的合法括号序列最长是多少n,|S|<=300题解先把输入的括号序列简化成一个三元组(r,l,len)表示最后左边剩下了r个右括号,右边剩下了l个左括号,原长为len (很绞是不是?)于是我们可以很轻易的得到一个N^3的dp,d[j]表示还剩j个左括号未匹配的最大长度,然后依次枚举,如果j>=r那么,d[j-r+l]=m...原创 2018-12-26 08:45:31 · 236 阅读 · 0 评论 -
东非大裂谷
题意给出一棵树每个点上有权值你需要把这些树分成若干条链,每条链都必须满足上面的点深度互不相同(也就是说不会存在某个点有两个儿子都在链上),每条链的收益是该链上的最大值减去最小值。问最大的总收益题解可以发现,由于收益只跟最大值和最小值有关,所以链的两端一定分别是最大值和最小值也就是说每条链都一定是从上到下单增或单减的,而且这样的话,我们就可以通过把相邻的差值加起来就得到最大减最小了我们...原创 2019-01-05 16:39:24 · 404 阅读 · 0 评论 -
bzoj4518 征途
题意Pine开始了从S地到T地的征途。从S地到T地的路可以划分成n段,相邻两段路的分界点设有休息站。Pine计划用m天到达T地。除第m天外,每一天晚上Pine都必须在休息站过夜。所以,一段路必须在同一天中走完。Pine希望每一天走的路长度尽可能相近,所以他希望每一天走的路的长度的方差尽可能小。帮助Pine求出最小方差是多少。设方差是v,可以证明,v×m2v×m^2v×m2是一个整数。为...原创 2019-01-04 08:49:09 · 297 阅读 · 1 评论 -
CodeForces553E Kyoya and Train
题意n个火车站,m条单向铁路,你要从1到n。每条铁路有一个费用,然后通过的时间是[1,t]中的,会给出通过某条边用每个时间的概率。如果你到n的时间大于t,就会被罚x。当你到达一个火车站的时候,你可以根据当前的情况改变方案。问从1到N的最小期望花费n<=50,m<=100,t<=20000题解可以先有一个dp,d[i][j]表示从i出发,当前为j时刻时的最小花费d(u,t...原创 2018-12-27 08:22:36 · 221 阅读 · 0 评论 -
bzoj 2302 [HAOI2011]Problem c
题意给n个人安排座位,先给每个人一个1~n的编号,设第i个人的编号为ai(不同人的编号可以相同),接着从第一个人开始,大家依次入座,第i个人来了以后尝试坐到ai,如果ai被占据了,就尝试ai+1,ai+1也被占据了的话就尝试ai+2,……,如果一直尝试到第n个都不行,该安排方案就不合法。然而有m个人的编号已经钦定了,你只能安排剩下的人的编号,求有多少种合法的安排方案。对M取模100%的数据满足...原创 2018-12-26 19:44:25 · 942 阅读 · 0 评论 -
bzoj 2091 [Poi2010]The Minima Game
题意给出N个正整数,AB两个人轮流取数,A先取。每次可以取任意多个数,直到N个数都被取走。每次获得的得分为取的数中的最小值,A和B的策略都是尽可能使得自己的得分减去对手的得分更大。在这样的情况下,最终A的得分减去B的得分为多少。题解首先,我们把数组按从小到大排序每个人取数时,一定是取的最后的连续的一段证明吗…显然?我们可以定义d[i]为最前面的i个,先手最多多拿多少分那么要么就先...原创 2018-12-26 18:55:35 · 168 阅读 · 0 评论 -
bzoj 2216 [Poi2011]Lightning Conductor
题解给出一个长度为n的序列a,你需要对于每个i,找到最小的整数p满足对于∀j,aj≤ai+p−∣i−j∣\forall j,a_j\leq a_i+p- \sqrt{|i-j|}∀j,aj≤ai+p−∣i−j∣题意移项,有p≥a[j]−a[i]+∣i−j∣p\geq a[j]-a[i]+\sqrt{|i-j|}p≥a[j]−a[i]+∣i−j∣也即是说p=max(a[j]+∣i−j...原创 2018-12-26 17:22:57 · 240 阅读 · 0 评论 -
点亮
题意题解对于40%的数据,O(2nn2)O(2^nn^2)O(2nn2)乱整题目中多次强调:随机得到的树来来来直接上性质众所周知?不存在的综上,题解的意思是:随机一般是用来暴力骗分,但是这道题就是正解下面是性质的证明(突然发现自己在疯狂粘题解)由于这个深度很小,所以我们可以状压把所有的输入处理到LCA上然后就可以dp了,d(i,j,k)表示i子树,状态为j,点亮...原创 2018-10-24 20:08:22 · 491 阅读 · 0 评论 -
AGC007 D Shik and Game
题意数轴上有N个地方可以产金币,你首先需要去激活它,然后在T秒后会产出一个金币。每个地方只会产一次。问收集所有N个硬币,并最终走到E的最短时间题解考虑dp定义d[i]表示捡完[1,i]最小花费转移式d[i]=min(d[i],d[j]+a[i]−a[j]+max(a[i]−a[j+1],T−(a[i]−a[j+1]))+max(a[i]−a[j+1],T−max(a[i]−a[j+1]...原创 2018-09-22 15:24:30 · 301 阅读 · 0 评论 -
状压DP学习小结
状压DP,即通过二进制位运算将状态压缩(用整数表示集合)作为动态规划的状态来解决问题的办法例题1 n个点的有向图,给出距离的邻接矩阵,求经过每个点一次的最短路径。n<=20,256MB题解解法1: n!枚举路径 解法2: 状压dp 将已访问过的点和当前访问的点为状态进行dp dp(S′,v)=dp(S,u)+dist(u,v)(S不含v且S|v=S′)dp(S′...原创 2018-02-12 09:33:34 · 3122 阅读 · 2 评论 -
树形dp学习小结
树型DP即在树上进行DP。一般树型DP的特征很明显,即状态可以表示为树中的节点。其他DP的特征也都有例题1 树的最大独立集问题对于一棵有N个结点的无根树,选出尽量多的结点,使得任何两个结点均不相邻(称为最大独立集)题解就是父亲的选择决定了儿子状态定义定义d(i,0)为不选择i号节点,i号子树最大独立集大小 定义d(i,1)为选择i号节点,i号子树最大独立集大小...原创 2018-02-18 14:52:28 · 357 阅读 · 0 评论 -
Inverse
题意给出一个1~N的排列P,进行K次操作,每次等概率的选取一段区间(从所有n(n+1)2\frac{n(n+1)}{2}2n(n+1)中选)翻转求K次操作后的逆序对期望个数题解定义d(i,j,k)为k次操作后,Pi&amp;gt;PjP_i&amp;gt;P_jPi&gt;Pj的概率那么最终的答案就是∑i=1n∑j=i+1nd(i,j,K)\sum_{i=1}^n\sum_{j=i...原创 2019-01-16 08:13:43 · 259 阅读 · 0 评论