![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 74
2020linweitong
这个作者很懒,什么都没留下…
展开
-
JZOJ 3442. 【NOIP2013模拟】期望异或
JZOJ 3442. 【NOIP2013模拟】期望异或其实答案就是 ∑∑i⊕jn2×(1−p)+∑i⊕f(i)n×p\frac{\sum\sum{i\oplus j}}{n^2}\times (1-p)+\frac{\sum i\oplus f(i)}{n}\times pn2∑∑i⊕j×(1−p)+n∑i⊕f(i)×p。上述式子有 f(i)f(i)f(i) 为 另一个与 iii 异或成最大值的数。第一部分考虑拆位,每一位单独算期望。那么比较显然我们要求 000 到 n−1n-1n−1 中某一原创 2021-08-24 13:39:18 · 134 阅读 · 0 评论 -
JZOJ 5102.【GDOI2017 day2】小学生语文题 题解
JZOJ 5102.【GDOI2017 day2】小学生语文题 题解考虑设fi,jf_{i,j}fi,j表示BBB串的jjj到nnn能填充AAA串的iii到nnn所需要交换的最小值。当ai=bja_i=b_jai=bj,fi,j=fi+1,j+1f_{i,j}=f_{i+1,j+1}fi,j=fi+1,j+1当满足jjj到nnn的aia_iai这个字符大于iii到nnn的aia_iai这个字符,fi,j=fi+1,jf_{i,j}=f_{i+1,j}fi,j=fi+1,j可以不选原创 2021-07-16 21:56:02 · 112 阅读 · 1 评论 -
【NOIP2018提高组D1T3】赛道修建 题解
【NOIP2018提高组D1T3】赛道修建 题解很妙的方法。题目在此。解题思路关键词:二分,贪心,动态规划看到要求最小值最大,显然是个二分。二分一下答案,设为limlimlim,即我们要在这棵树中选大于等于mmm条链,长度大于等于limlimlim。设fx,restxf_x,rest_xfx,restx分别表示以xxx为根的子树最多可以弄出几条合法的链,以及剩下的地方最长的不合法链的长度。然后转移显然,就是fx=s+∑i∈sonxfif_x=s+\sum_{i\in son_x}{f_原创 2021-01-25 21:43:59 · 301 阅读 · 0 评论 -
【NOIP2017提高组正式赛】宝藏 题解
【NOIP2017提高组正式赛】宝藏 题解题目大意这道题目题目大意就是说,有一个图G=(V,E)G=(V,E)G=(V,E),求一个子图G′=(V,E′)G'=(V,E')G′=(V,E′),满足E′=V−1E'=V-1E′=V−1,也就是一棵树。然后每一次一条边建出来的花费就是长度乘以这条边起点的深度加一。求最小花费。解题方法关键词:状态压缩动态规划设fi,jf_{i,j}fi,j表示现在这棵树的深度为iii,整棵树的状态(用0/10/10/1表示)为jjj时,的最小花费。画一个图好看一原创 2021-01-22 11:13:49 · 304 阅读 · 0 评论 -
JZOJ 5398. 【NOIP2017提高A组模拟10.7】Adore 题解
JZOJ 5398. 【NOIP2017提高A组模拟10.7】Adore 题解题目大意给你一个nnn层DAGDAGDAG,有向无环图,然后改变第iii层可以将((i,j),(i+1,k))((i,j),(i+1,k))((i,j),(i+1,k))这条边变成((i,k),(i+1,j))((i,k),(i+1,j))((i,k),(i+1,j)),问有多少种方法使路径数为偶数。解题思路设fi,jf_{i,j}fi,j表示第iii层路径数奇偶性状态为jjj的方案数,aia_iai表示第iii层到原创 2020-12-02 17:06:27 · 152 阅读 · 1 评论 -
保命 题解
保命 题解题目在这里。下面都设这n+1n+1n+1个建筑的编号为111到n+1n+1n+1。设fi,jf_{i,j}fi,j表示第i个消火栓放到j点的答案。则fi,j=fi−1,k+∑p=k+1jwp(sj−sp)f_{i,j}=f_{i-1,k}+\sum_{p=k+1}^{j}{w_p(s_j-s_p)}fi,j=fi−1,k+p=k+1∑jwp(sj−sp)其中si,wis_i,w_isi,wi分别表示第一个点到第i个点的距离及第i个点的人数。然后拆原创 2020-10-17 16:37:35 · 118 阅读 · 0 评论 -
2020.08.07【NOIP提高组】模拟:排列 总结
2020.08.07【NOIP提高组】模拟:排列 总结Description一个关于nnn个元素的排列是指一个从{1,2,…,n}\{1, 2, …, n\}{1,2,…,n}到{1,2,…,n}\{1, 2, …, n\}{1,2,…,n}的一一映射的函数。这个排列ppp的秩是指最小的kkk,使得对于所有的i=1,2,…,ni = 1, 2, …, ni=1,2,…,n,都有p(p(…p(i)…))=ip(p(…p(i)…)) = ip(p(…p(i)…))=i(其中,ppp一共出现了kkk次)。例原创 2020-08-10 07:38:36 · 133 阅读 · 0 评论 -
2020.08.07【NOIP提高组】模拟:树环转换 总结
2020.08.07【NOIP提高组】模拟:树环转换 总结Description给定一棵NNN个节点的树,去掉这棵树的一条边需要消耗值111,为这个图的两个点加上一条边也需要消耗值111。树的节点编号从111开始。在这个问题中,你需要使用最小的消耗值(加边和删边操作)将这棵树转化为环,不允许有重边。环的定义如下:(1)该图有NNN个点,NNN条边。(2)每个顶点的度数为222。(3)任意两点是可达的。树的定义如下:(1)该图有NNN个点,N−1N-1N−1条边。(2)任意两点是可达的。I原创 2020-08-08 15:24:43 · 149 阅读 · 0 评论 -
2020.08.06【NOIP提高组】模拟:统一天下 总结
2020.08.06【NOIP提高组】模拟:统一天下 总结DescriptionInputOutputSample Input4 41 32 14 34 34 11 2Sample Output68Data Constraint总结比赛思路: 暴力枚举连接的两个点并暴力求点对距离之和,时间复杂度为O(n4)O(n^4)O(n4)。正解: 设fW,xf_{W,x}fW,x表示树WWW的xxx结点到其它树WWW的结点的距离和,gWg_{W}gW表示WWW这棵树的最小原创 2020-08-06 21:10:10 · 128 阅读 · 0 评论 -
2020.08.05【NOIP提高组】模拟:俄罗斯套娃 总结
2020.08.05【NOIP提高组】模拟:俄罗斯套娃 总结DescriptionInputOutputSample Input10 1000Sample Output3628800Data Constraint总结比赛思路: 暴力全排列枚举。正解: 设fi,jf_{i,j}fi,j表示前iii个数,逆序对数为jjj的方案数。可得fi,j=∑l=0i−1fi−1,j−l\begin{aligned}f_{i,j}=\sum_{l=0}^{i-1}{f_{i-1,j-l}}\e原创 2020-08-06 07:36:24 · 145 阅读 · 0 评论 -
栈 题解
栈解题方法这道题目是动态规划。可以得动规方程fi=fi−1∗(i∗4−2)(i+1)f_i=\frac{f_{i-1}*(i*4-2)}{(i+1)}fi=(i+1)fi−1∗(i∗4−2)。原创 2020-07-21 19:24:49 · 197 阅读 · 0 评论 -
统计蚂蚁 题解
统计蚂蚁解题方法设fi,jf_{i,j}fi,j表示前iii种类型的蚂蚁用了jjj个的方案数。则fi,j=∑k=0nifi−1,j−k\begin{aligned}f_{i,j}=\sum_{k=0}^{n_i}{f_{i-1,j-k}}\end{aligned}fi,j=k=0∑nifi−1,j−k但是由于jjj可能小于nin_ini,所以fi,j=∑k=0min(ni,j)fi−1,j−k\begin{aligned}f_{i,j}=\sum_{k=0}^{min(n_i,j)}原创 2020-07-20 19:11:48 · 146 阅读 · 0 评论 -
最小步数 题解
最小步数 题解题目在这里。解题方法这道题目是动态规划。具体如下:原创 2020-07-12 12:42:58 · 555 阅读 · 0 评论 -
奶牛的声音 题解
奶牛的声音解题方法转化此题,可以发现最难求的地方是判断这个声音由多少个奶牛组成。其实是一个背包问题。设fif_ifi表示声音iii由多少个奶牛组成。则fi=minj=1Bfi−Vj+1\begin{aligned}f_i=\min_{j=1}^{B}{f_{i-V_j}+1}\end{aligned}fi=j=1minBfi−Vj+1。其实是一个完全背包。最后只要按题意模拟即可。...原创 2020-07-04 15:42:07 · 260 阅读 · 0 评论 -
最小总代价 题解
最小总代价 题解题目在这里。解题方法这道题目我想得太简单了,以为是最小生成树,其实不是——最小生成树必须是无向图。那么这题就是状压dpdpdp了。设fi,jf_{i,j}fi,j表示当前传递的状态是iii且现在到了第jjj个人手里的最小价值,此状态必须满足i&2j≠0i\&2^j\not=0i&2j=0。则fi,j=mink=1nfi−2j,k+ak,j(i&2k≠0,j≠k)\begin{aligned}f_{i,j}=\min_{k=1}^{n原创 2020-06-24 22:12:27 · 552 阅读 · 0 评论 -
烤饼干 题解
烤饼干 题解题目在这里。解题方法暴力dfsdfsdfs每一次dfsdfsdfs当前行是否需要翻转,如果需要就翻转,然后把全部行都枚举过之后,贪心每一列000和111的个数最大的值并累加进答案,最后与原来的答案取一个最大值就行了。时间复杂度为O(2nm)O(2^nm)O(2nm),可以过。状压dpdpdp暂时不会。...原创 2020-06-07 15:06:40 · 259 阅读 · 0 评论 -
problem2 题解
problem2problem2problem2 题解题目这里。解题方法设dpi,jdp_{i,j}dpi,j表示N=iN=iN=i时某种情况的答案,情况如下:当j=0j=0j=0,表示所有方向之和;当j=1j=1j=1,往上走;当j=2j=2j=2,往左走;当j=3j=3j=3,往右走。根据定义,可得dpi,0=dpi,1+dpi,2+dpi,3dp_{i,0}=dp_{i,1}+dp_{i,2}+dp_{i,3}dpi,0=dpi,1+dpi,2+dpi,3。分三种情况讨论原创 2020-06-06 14:30:47 · 177 阅读 · 0 评论 -
watch 题解
watchwatchwatch 题解题目在这里。题目大意有mmm种纸币,每一种是kik_iki元,最多能买aia_iai次。现在问你tit_iti是否可以用刚好被凑出。解题方法模板多重背包——是可行性背包问题。暴力dpdpdp设fjf_jfj表示jjj元是否能凑出(能为111,不能为000),当前到了第iii种纸币,kkk为可取次数。则fj={1fj−ai×k=10fj−ai×k=0f_j=\begin{cases}1&f_{j-a_i\times k}=1\\0&a原创 2020-05-30 10:17:20 · 199 阅读 · 0 评论 -
love 题解
迷恋 题解题目解题方法这道题的方法是动态规划。设fi,jf_{i,j}fi,j表示一种颜色用了iii,另一种颜色用了jjj的方案。则fi,j=fi−1,j+fi−1,j−1×jf_{i,j}=f_{i-1,j}+f_{i-1,j-1}\times jfi,j=fi−1,j+fi−1,j−1×j初始化f0,i=1,fi,0=1f_{0,i}=1,f_{i,0}=1f0,i=1,fi,0=1。然后我们可以发现答案为fa,b×fb,c×fa,cf_{a,b}\times f_{b原创 2020-05-23 14:40:46 · 265 阅读 · 0 评论 -
run 题解
runrunrun 题解这道题的解题方法是动态规划。对于909090分的方法我们设fif_ifi表示到了编号为iii的休息点的最大价值。则fi=maxj<i,ai−aj≤mfj+aif_i=\max_{j<i,a_i-a_j\leq m}{f_j+a_i}fi=maxj<i,ai−aj≤mfj+ai。那么我们就可以直接用动态规划的方法求出答案,答案是maxi=1nfi\max_{i=1}^{n}{f_i}maxi=1nfi。时间复杂度为O(n2)O(n^2原创 2020-05-16 11:51:54 · 204 阅读 · 0 评论 -
小x与树 题解
树的颜色 题解题目大意:有一棵树,每个结点上有一个颜色。现在要求以bbb为根的子树中有多少种颜色。子任务111:子任务111的树是一条链,我们可以直接递归和桶来过这道题。子任务222:子任务222是n=mn=mn=m且所有结点的颜色不同。其实可以转化为:求以bbb为根的子树中有多少个结点。这个就是一个树型动规的问题,我们假设fif_ifi表示以iii为根的子树中有多少个结点。则...原创 2020-05-09 18:00:00 · 307 阅读 · 0 评论 -
传纸条 题解
传纸条 题解题目题目描述小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n)。从小渊传到小轩的纸条只可以向下或者向右传...原创 2020-05-04 09:32:01 · 425 阅读 · 0 评论 -
Grass Planting 题解
GrassGrassGrass PlantingPlantingPlanting 题解题目解题方法方法111:树形dpdpdp设dpidp_idpi表示以iii为根的子树需要使用的最少的草的种类数,fif_ifi表示iii节点的儿子个数,bib_ibi表示与iii结点相连的结点数量。除了根节点以外的其他结点都与bib_ibi个结点相连,而有一个结点恰好是它的父亲结点。但是由于...原创 2020-04-16 20:19:29 · 482 阅读 · 0 评论