DP
文章平均质量分 54
酷酷的Herio
这个作者很懒,什么都没留下…
展开
-
P2476 [SCOI2008]着色方案(记搜&多维dp)
P2476 [SCOI2008]着色方案(记搜&多维dp)因为每种颜色至多555个。考虑按照个数分类。然后令f(a,b,c,d,e,last)f(a,b,c,d,e,last)f(a,b,c,d,e,last)表示个数为111的颜色种类、个数为222的颜色种类…\dots…,lastlastlast表示上一次选择的颜色是个数为lastlastlast的。然后考虑如何转移:若选择个数为1的,则由(a−(last==2))×f(a−1,b,c,d,e,1)(a-(last==2))\times原创 2021-08-25 14:02:12 · 203 阅读 · 0 评论 -
787. K 站中转内最便宜的航班(dp)
787. K 站中转内最便宜的航班(dp)DAGDAGDAG图直接开二维数组dpdpdp。令dp(i,j)dp(i,j)dp(i,j)到达iii经过jjj站的最小费用。然后直接转移就行了。class Solution {private: static constexpr int INF = 10000 * 101 + 1;public: int findCheapestPrice(int n, vector<vector<int>>& fligh原创 2021-08-24 18:50:25 · 244 阅读 · 0 评论 -
P2501 [HAOI2006]数字序列(LIS&贪心)
P2501 [HAOI2006]数字序列(LIS&贪心)对于一个区间[l,r][l,r][l,r],显然需要满足ar−al≥r−la_r-a_l\ge r-lar−al≥r−l 才有可能严格递增。移项:ar−r≥al−la_r-r\ge a_l-lar−r≥al−l。令bi=ai−ib_i=a_i-ibi=ai−i,在数组bbb中到最长非递减子序列长度cntcntcnt,n−cntn-cntn−cnt就是最少修改的数。第二问,有一个结论,对于LISLISLIS中相邻的两点,肯定有原创 2021-08-24 16:52:58 · 364 阅读 · 1 评论 -
P4158 [SCOI2009]粉刷匠(dp)
P4158 [SCOI2009]粉刷匠(dp)考虑每行独立计算。所以可以开一个三维数组:g[i][j][k]g[i][j][k]g[i][j][k]第iii行前jjj列涂了kkk次的最大值。然后再开一个 二维数组f[i][j]f[i][j]f[i][j]表示前iii行涂了jjj次的最大值。预处理二维前缀和。然后ggg 的递推O(nm3)O(nm^3)O(nm3) ,fff的递推O(nmT)O(nmT)O(nmT)。// Problem: P4158 [SCOI2009]粉刷匠// Contes原创 2021-08-24 15:57:23 · 378 阅读 · 0 评论 -
Man Down(线段树dp)
Man Down(线段树dp)是男人就下100层的模拟,因为每个平台往左和往右的状态是确定的,这可以通过线段树的区间覆盖,单点查询求,然后就是从高往低dp。时间复杂度:O(nlogn)O(nlogn)O(nlogn)区间覆盖不需要lazt taglazt \ taglazt tag,换句话说a[x].colora[x].colora[x].color 就是lazy taglazy \ taglazy tag#include<bits/stdc++.h原创 2021-08-12 20:59:48 · 388 阅读 · 0 评论 -
J. Journey to the “The World’s Start”(二分线段树dp)
J. Journey to the “The World’s Start”(二分线段树dp)显然卡的范围rrr是可以二分的,如果r1<r2r_1< r_2r1<r2 ,r1r_1r1 能满足显然r2r_2r2也能满足。然后考虑对于某个rrr,能否在ttt内到达nnn。这可以通过dp。显然由状态转移方程:dpi=max(dpj)+ti,j∈[i−r,i−1]dp_i=max(dp_j)+t_i ,j\in [i-r,i-1]dpi=max(dpj)+ti,j∈[i−r,原创 2021-08-12 18:24:04 · 251 阅读 · 0 评论 -
P1442 铁球落地(线段树dp)
P1442 铁球落地(线段树dp)比较显然的是从下往上dp,对每个平台iii考虑是从左边转移还是右边转移。因为从两端下落的平台jjj是一定的。转移方程很好写。关键是如何找到jjj。从下往上考虑,我们对已经遍历过的区间进行覆盖,这样就变成区间修改,单点查询了。上线段树就好了。注意区间值域较大,需要离散化。然后dp的时候到地面特判,高度就是a[i].ha[i].ha[i].h。时间复杂度:O(nlogn)O(nlogn)O(nlogn)代码参考题解区#include<iostream&g原创 2021-08-12 16:08:07 · 283 阅读 · 0 评论 -
D. Roman and Numbers(状压dp)
D. Roman and Numbers(状压dp)把nnn的每一位状压,问题等价于选择一个顺序走完这cntcntcnt个位使得(modm)=0\pmod{m}=0(modm)=0答案。令dp[i][j]dp[i][j]dp[i][j]表示状态iii 模mmm余jjj的答案。转移时需要注意最高位对应的数不能为000。初始化:dp[0][0]=1dp[0][0]=1dp[0][0]=1。而且同一个数字不能在一个状态转移多次,所以可以用一个标记数组,标记哪些数字已经转移过了。时间复杂度:O(10m原创 2021-08-11 20:29:00 · 322 阅读 · 0 评论 -
B. Little Pony and Harmony Chest(状压dp)
B. Little Pony and Harmony Chest(状压dp)考虑bi≥59b_i \ge 59bi≥59时,bi=1b_i=1bi=1更优。所以只需考虑bi≤59b_i \le 59bi≤59 。又因为bbb数组两两互质。即每个质因子只能被一个数使用。且≤59\le 59≤59的质因子只有161616个。考虑状压dp。令dp[i][s]dp[i][s]dp[i][s]表示前iii个数选择的状态为sss的最小值,同时再开个数组维护pre[i][s]pre[i][s]pre原创 2021-08-11 16:50:26 · 272 阅读 · 0 评论 -
P2300 合并神犇(单调队列优化dp)
P2300 合并神犇(单调队列优化dp)令fif_ifi表示前iii个数的最少合并次数,gig_igi表示在fif_ifi条件下的最小结尾值。有转移方程:fi=min(fj+i−j−1),s(j,i)≥gjf_i=min(f_j+i-j-1),s(j,i)\ge g_jfi=min(fj+i−j−1),s(j,i)≥gj因为:fj+1≤fj+1f_{j+1}\le f_j+1fj+1≤fj+1 即j+1j+1j+1,fj+1f_{j+1}fj+1至多会加1, 而jjj加1原创 2021-08-10 10:53:58 · 261 阅读 · 0 评论 -
P2511 [HAOI2008]木棍分割(二分&前缀和优化dp)
P2511 [HAOI2008]木棍分割(二分&前缀和优化dp)最大值最小,二分的板子。找到最值后,就是dpdpdp求方案数。考虑朴素的dp(i,j)dp(i,j)dp(i,j)前iii个木棍分成jjj组的方案数。有:dp(i,j)=∑k=left[i]i−1dp(k,j−1),sum(k+1,i)≤lendp(i,j)=\sum\limits_{k=left[i]}^{i-1}dp(k,j-1),sum(k+1,i)\le lendp(i,j)=k=left[i]∑i−1dp(k,j−1原创 2021-08-10 09:50:43 · 282 阅读 · 0 评论 -
P2519 [HAOI2011]problem a(DP)
P2519 [HAOI2011]problem a(DP)此题需要先观察出几个性质:每个人表示的相同排名区间是:[ai+1,n−bi][a_i+1,n-b_i][ai+1,n−bi]1.显然ai+1>n−bia_i+1>n-b_iai+1>n−bi 必然说假话。2.且区间相同的人数超过区间长度也是必然说家伙。利用上面两个条件,我们可以把区间相同的进行合并,权值就是相同的人数。这样合并后问题转换成了选择若干个不相交的区间,使得权值和最大。这里必须要选择不相交的区间,因为原创 2021-08-10 09:18:00 · 246 阅读 · 0 评论 -
E. Mahmoud and a xor trip(树DP)
E. Mahmoud and a xor trip(树DP)给定点权树,求所有异或路径和,p(u,v),p(v,u)p(u,v),p(v,u)p(u,v),p(v,u)只算一次。按位计算贡献,树dpdpdp即可。// Problem: E. Mahmoud and a xor trip// Contest: Codeforces - Codeforces Round #396 (Div. 2)// URL: https://codeforces.ml/contest/766/problem/E/原创 2021-07-27 17:10:43 · 236 阅读 · 0 评论 -
P3580 [POI2014]ZAL-Freight(单调队列dp)
P3580 [POI2014]ZAL-Freight(单调队列dp)考虑两辆车怎么样是最优的。t1,t2,St_1,t_2,St1,t2,St1+St_1+St1+S第一辆车:[t1,t1+S][t_1,t_1+S][t1,t1+S]假设第二辆车在某个时间ti∈[t1+1,t1+S]t_i\in [t_1+1,t_1+S]ti∈[t1+1,t1+S]出发。在第一辆车到达到右端点后,必须等第一辆车过来才能继续接下来的行动。所以第二辆车到达的时间是:ti+St_i+Sti+S。原创 2021-07-26 19:55:13 · 277 阅读 · 0 评论 -
P3970 [TJOI2014]上升子序列(BIT&DP)
P3970 [TJOI2014]上升子序列(BIT&DP)求长度至少为2不同的LISLISLIS个数。忽略掉长度至少为2,且不同的条件。令fif_ifi表示以aia_iai的LISLISLIS个数。则有 :fi=(∑aj<aifj)+1,(j<i)\large f_i=(\sum\limits_{a_j<a_i} f_j)+1,(j<i)fi=(aj<ai∑fj)+1,(j<i)ans=∑i=1nfi\large ans=\sum\l原创 2021-07-26 18:49:13 · 250 阅读 · 0 评论 -
区间DP问题总结
区间DP问题总结1.石子合并类keykeykey:枚举中间点kkk合并P1880 [NOI1995] 石子合并每次合并,增加的贡献为合并后的区间和。for(int l=2;l<=n;l++) for(int i=1;i+l-1<2*n;i++){ int j=i+l-1; for(int k=i;k<j;k++){ f[i][j]=max(f[i][j],f[i][k]+f[k+1][j]+sum[i][j]); g[i][j]=min(g[i][原创 2021-07-12 23:29:54 · 267 阅读 · 0 评论 -
P1437 [HNOI2004]敲砖块(dp)
P1437 [HNOI2004]敲砖块(dp)从上往下和从下往上递推都具有后效性。考虑从右往左递推。因为当选择ai,ja_{i,j}ai,j时,该列上面的所有块都选,右边的块也都要选。令f[i][j][k]f[i][j][k]f[i][j][k]表示选择到第iii列第jjj行选择了kkk个块的最大值。考虑如何从第i+1i+1i+1列转移。有:f[i][j][k]=max(f[i][j][k],f[i+1][l][k−j])f[i][j][k]=max(f[i][j][k],f[i+1][l][原创 2021-07-03 11:19:04 · 284 阅读 · 0 评论 -
P2331 [SCOI2005]最大子矩阵(DP&分类讨论)
P2331 [SCOI2005]最大子矩阵(DP&分类讨论)考虑dp解决。若m=1m=1m=1则是一个简单的递推。若m=2m=2m=2则是分情况讨论。一个是当前行不取。一个是选第一列,一个是选第二列。一个是两列都选。具体看代码,应该挺好理解的。// Problem: P2331 [SCOI2005]最大子矩阵// Contest: Luogu// URL: https://www.luogu.com.cn/problem/P2331// Memory Limit: 125 MB原创 2021-07-02 13:06:44 · 250 阅读 · 0 评论 -
状压dp小练习(LuoGu)
状压dp小练习(LuoGu)P1433 吃奶酪令dp[i][j]dp[i][j]dp[i][j]表示状态jjj下到达位置iii的最小距离。枚举转移点。时间复杂度:O(n22n)O(n^22^n)O(n22n)int n;scanf("%d",&n);for(int i=0;i<n;i++){ scanf("%lf%lf",&a[i].x,&a[i].y); } node o ={0,0}; mst(dp,127); for(int i=0;i<n;i原创 2021-05-19 22:24:07 · 266 阅读 · 2 评论 -
P1357 花园(dp&快速幂转移)
P1357 花园(dp&快速幂转移)考虑nnn较小时的dpdpdp:dp[i][j]=dp[i−1][j>>1]+dp[i−1][j>>1∣(1<<(m−1))]dp[i][j]=dp[i-1][j>>1]+dp[i-1][j>>1|(1<<(m-1))]dp[i][j]=dp[i−1][j>>1]+dp[i−1][j>>1∣(1<<(m−1))]需要注意对应的二维状态合法。因为n≤10原创 2021-04-23 22:07:11 · 546 阅读 · 0 评论 -
P1278 单词游戏(状压dp)
P1278 单词游戏(状压dp)状压dp的裸题,令dp[i][j]dp[i][j]dp[i][j]表示状态iii以单词jjj结尾的最大长度。然后转移即可。时间复杂度:O(2nn2)O(2^nn^2)O(2nn2)void solve(){ IOS;cin>>n;for(int i=0;i<n;i++){ cin>>a[i]; f[1<<i][i]=SZ(a[i]); } int st=1<<n; for(int i=0;i<原创 2021-04-17 12:12:46 · 262 阅读 · 0 评论 -
dp练习(4.16)
dp练习(4.16)P2014 [CTSC1997]选课转化一下题意,给定一棵树, 求包含000的结点一棵子树的点权和最大。多叉树问题:1.转二叉树。2.树形背包。int dfs(int u){ int sz=1; for(int i=h[u];~i;i=e[i].nt){ int v=e[i].to; int tmp=dfs(v); sz+=tmp; for(int j=sz;j>1;j--) for(int k=0;k<=tmp;k++) if原创 2021-04-16 12:50:03 · 231 阅读 · 0 评论 -
打家劫舍小记
打家劫舍小记经典dp问题非连续最大数之和1.线性。dp[i]=max(dp[i−1],dp[i−2]+a[i])dp[i]=max(dp[i-1],dp[i-2]+a[i])dp[i]=max(dp[i−1],dp[i−2]+a[i])2.环形。ans=max(fun(1,n−1),fun(2,n))ans=max(fun(1,n-1),fun(2,n))ans=max(fun(1,n−1),fun(2,n))fun(l,r)fun(l,r)fun(l,r)即在区间[l,r][l,r][l,r原创 2021-04-15 13:54:01 · 161 阅读 · 0 评论 -
P1021 [NOIP1999 提高组] 邮票面值设计(dfs&dp)
P1021 [NOIP1999 提高组] 邮票面值设计(dfs&dp)好题!和ICPC昆明的一道主席树思想相同。思路:先利用dp找到f[i]f[i]f[i]表示到达面值iii所需的最小邮票数。具体地,转移方程是:f[i]=min(f[i],f[i−a[i]]+1)f[i]=min(f[i],f[i-a[i]]+1)f[i]=min(f[i],f[i−a[i]]+1)。当f[i]>nf[i]>nf[i]>n就breakbreakbreak掉,i−−i--i−−。此时的能表示原创 2021-04-13 21:30:01 · 392 阅读 · 0 评论 -
P2015 二叉苹果树(树形dp)
P2015 二叉苹果树(树形dp)思路题意有点迷惑,剪枝这个操作的意思是若保存某条边,必须保存从根到该点的所有边,且剪枝后的树不需要满足原题意的树要求。然后就是裸的树形dp,记录每个结点子树的边个数,然后暴力递推,注意一个边只能加一次,所以类似背包倒序dp。code#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef unsigned long long ull; const int N=1原创 2021-04-08 20:32:38 · 316 阅读 · 1 评论 -
SOSdp
SOSdphttps://codeforces.ml/contest/383/problem/Ehttps://codeforces.ml/blog/entry/45223E. Compatible Numbers题意给定aia_iai,对每个数找到一个aja_jaj满足ai&aj=0a_i\& a_j=0ai&aj=0思路SOSdpSOS dpSOSdp在原定义:f[mask]=∑i&mask=iaif[mask]=\sum\limits_{i\&a原创 2021-04-04 10:18:47 · 299 阅读 · 0 评论 -
AtCoder Beginner Contest 169(题解)
AtCoder Beginner Contest 169(题解)E - Count Median结论题给定nnn个xi∈[ai,bi]x_i\in[a_i,b_i]xi∈[ai,bi],求中位数的个数。定义:k=⌊n2⌋k=\lfloor\dfrac{n}{2}\rfloork=⌊2n⌋,对a,ba,ba,b进行排序后,为ak+1a_{k+1}ak+1为aia_iai的中位数,bk+1b_{k+1}bk+1为bib_ibi的中位数。1.nnn为奇数,则范围是[ak+1,bk+1][原创 2021-03-12 21:57:19 · 288 阅读 · 0 评论 -
F - Digits Paradise in Hexadecimal(数位dp)
F - Digits Paradise in Hexadecimal(数位dp)题意在161616进制下,[1,n][1,n][1,n]进制位上出现kkk种不同数的个数。思路显然数位dpdpdp,此种题一般用状压维护状态,然后就裸了。code// Problem: F - Digits Paradise in Hexadecimal// Contest: AtCoder - AtCoder Beginner Contest 194// URL: https://atcoder.jp/cont原创 2021-03-09 14:26:51 · 407 阅读 · 1 评论 -
I Full Depth Morning Show(树形dp)
I Full Depth Morning Show(树形dp)思路拆开转移,ansu=tu∑vdu,v+∑vtvdu,vans_u=t_u\sum\limits_vd_{u,v}+\sum\limits_{v}t_v d_{u,v}ansu=tuv∑du,v+v∑tvdu,v令au=∑vdu,v,bu=∑vtvdu,va_u=\sum\limits_vd_{u,v},b_u=\sum\limits_{v}t_v d_{u,v}au=v∑du,v,bu=v∑tvdu,v对于原创 2021-03-07 21:18:10 · 404 阅读 · 1 评论 -
F - Valid payments(进制&dp)
F - Valid payments(进制&dp)思路令Z=Y−XZ=Y-XZ=Y−XX=∑i=1nxiai,Y=∑i−1nyiai,Z=∑i=1nziaiX=\sum\limits_{i=1}^nx_ia_i,Y=\sum\limits_{i-1}^n y_ia_i,Z=\sum\limits_{i=1}^n z_ia_iX=i=1∑nxiai,Y=i−1∑nyiai,Z=i=1∑nziai依题意yi,ziy_i,z_iyi,zi不能同时>0>0>0原创 2021-03-06 12:03:55 · 295 阅读 · 0 评论 -
P1776 宝物筛选 (单调队列优化dp&二进制优化)
P1776 宝物筛选 (单调队列优化dp)多重背包:dp[i][j]=dp[i−1][j−k×w[i]]+k×v[i] (k×w[i]≤j)dp[i][j]=dp[i-1][j-k\times w[i]]+k\times v[i]\ (k\times w[i]\le j)dp[i][j]=dp[i−1][j−k×w[i]]+k×v[i] (k×w[i]≤j)j=k1×w[i]+dj=k_1\times w[i]+dj=k1×w[i]+ddp[i][j]=dp[i−1][(k1−原创 2021-02-21 21:19:59 · 321 阅读 · 0 评论 -
GDKOI 2021提高组DAY2 游戏(期望dp)
GDKOI 2021提高组DAY2 游戏(期望dp)fif_ifi表示从iii分到i+1i+1i+1分的期望局数,pip_ipi表示从iii分到i+1i+1i+1分的概率。fi=pi×1+(1−pi)×(1+fi−1+fi),i>0f_i=p_i\times 1+(1-p_i)\times (1+f_{i-1}+f_i),i>0fi=pi×1+(1−pi)×(1+fi−1+fi),i>0⇒pifi=1+(1−pi)fi−1\Rightarrow p_if_i=1+(1-原创 2021-02-17 12:48:21 · 284 阅读 · 0 评论 -
B. The least round way(dp&数论)
B. The least round way(dp&数论)题意 给定n×n,n≤103n\times n,n\le 10^3n×n,n≤103矩阵的非负整数矩阵,求路径乘积末尾000最小的个数。思路 10310^3103问题一般是O(n2)O(n^2)O(n2),因为只能向右下走,自然想到dpdpdp。一个重要的转化思想,末尾000的个数等价于该乘积对应的数字2,52,52,5因数个数的较小值,这个值是答案的上界,如果一个数为000的话要特判,因为经过000的路径答案就是11原创 2021-01-31 21:54:38 · 421 阅读 · 0 评论 -
LC5666. 回文串分割 IV(区间dp)
LC5666. 回文串分割 IV(区间dp)题意判断字符串能否分解为三段回文子串。思路因为n≤2000n\le 2000n≤2000,所以可以n2n^2n2预处理判断任意区间[l,r][l,r][l,r]是否回文串。然后暴力枚举两个割点即可。因为回文串是往外扩展的,所以区间dpdpdp是可行的。const int N=2e3+5;bool dp[N][N];class Solution {public: bool checkPartitioning(string s) {原创 2021-01-31 12:20:51 · 336 阅读 · 1 评论 -
CHEAP DELIVERIES(状压dp)
CHEAP DELIVERIES(状压dp)题意 给定有权无向图,给定k(k≤18)k(k\le 18)k(k≤18)个任务,每个任务有起点和终点,求完成这kkk个任务的最小路径和。思路 看到kkk的范围显然是状压dpdpdp,因为起点和终点确定,所以最短路也是确定的,可以先跑最短路预处理距离,然后进行状压dpdpdp即可,令dp[st][i]dp[st][i]dp[st][i]表示当前状态ststst下位于end[i]end[i]end[i]这个位置的花费,对ststst没有的任务进行原创 2021-01-30 22:08:13 · 341 阅读 · 0 评论 -
D. Journey(dp)
D. Journey(dp)题意 给定数轴上n+1n+1n+1个点,nnn条有向边,对i∈[0,n]i\in[0,n]i∈[0,n],从iii点出发能遍历的最大点个数,每次经过一条边后,所有边反向。思路 依题可知,从iii开始的路径肯定不能往回走,因为只有两个方向,我们只需考虑点iii往左走的贡献和往右的贡献。递推就很简单了,如果s[i]!=s[i−1],l[i]=l[i−1]+1s[i]!=s[i-1],l[i]=l[i-1]+1s[i]!=s[i−1],l[i]=l[i−1]+1。只要原创 2021-01-30 16:36:51 · 629 阅读 · 0 评论 -
D. Fox And Jumping(裴蜀定理&DP)
D. Fox And Jumping(裴蜀定理&DP)题意 给定nnn个数,每个数a[i]a[i]a[i]有对应的cost[i]cost[i]cost[i],求选出若干个数使得gcd=1gcd=1gcd=1的最小花费。思路 题意是由裴蜀定理转化得到,求最小花费使用dpdpdp,令dp[i]dp[i]dp[i]表示gcd=igcd=igcd=i的最小花费。有转移方程:对于第iii个数。dp[gcd(a[i],j)]=min(dp[gcd(a[i],j)],dp[j]+c[i])dp[原创 2021-01-29 16:42:38 · 486 阅读 · 1 评论 -
Pogo-Cow(区间dp)
Pogo-Cow(区间dp)题意 给定nnn头牛以一维坐标轴的位置xxx和贡献ppp,一个人可以任选一个牛的位置作为出发点,只能往一个方向跳的下一头牛的位置,求可以获得最大贡献。思路 显然需要先对牛按位置排序,然后分两种情况,往左和往右,因为这两种情况解决的方法是一样的,我们只需先考虑一种,比如往右。因为n=103n=10^3n=103,在提示我们是n2n^2n2的思路,考虑区间dpdpdp,令dp[j][i]dp[j][i]dp[j][i]表示从第jjj头牛走到第iii头牛的最大贡献。有转原创 2021-01-27 17:44:19 · 456 阅读 · 2 评论 -
J.No Change (状压dp)
J.No Change (状压dp)题意 给定k∈[1,16]k\in[1,16]k∈[1,16]个硬币,第iii枚硬币有对应的面值ai∈[1,109]a_i\in[1,10^9]ai∈[1,109],给了n∈[1,105]n\in[1,10^5]n∈[1,105]个需要购买的物品,每件物品的价格为b[i]b[i]b[i],一枚硬币可以一次购买多个物品,而且必须按照给定的物品顺序购买,当购买后,不会找零,求购买完所有物品的剩余硬币面值之和,如果购买不完输出−1-1−1。思路 看到kkk原创 2021-01-26 23:20:39 · 437 阅读 · 3 评论 -
F - Sugoroku2 (期望dp)
F - Sugoroku2 (期望dp)概率和期望常用的算法是dp。思路本题是从后往前dp,设dp[i]dp[i]dp[i]为从iii走到nnn的期望,目标是dp[0]dp[0]dp[0],已知dp[i]=0,(i≥n)dp[i]=0,(i\ge n)dp[i]=0,(i≥n)。递推方程为:dp[i]=∑j=i+1i+mdp[j]m+1dp[i]=\dfrac{\sum\limits_{j=i+1}^{i+m} dp[j]}{m}+1dp[i]=mj=i+1∑i+mdp[j]+1如果位置jjj原创 2021-01-25 16:13:25 · 320 阅读 · 0 评论