
DP
oier_forever
这个作者很懒,什么都没留下…
展开
-
HDU 1231 题解
HDU 1231 题解DP:状态转移方程:f[i]=max(f[i-1]+a[i],a[i])时间复杂度O(k)原创 2017-12-09 21:36:16 · 334 阅读 · 0 评论 -
BZOJ 4987 (树形DP)
###题面https://www.lydsy.com/JudgeOnline/problem.php?id=4987###分析先考虑贪心,显然k个节点形成一棵树求出树的直径,显然直径应该只被经过1次(最长的边应该走最少次数),其他非直径上的边被经过2次整体的形状应该类似一条链上接着许多子树考虑树形DP子状态:dp[x][i][j](j∈{0,1,2})dp[x][i][j]( j\i...原创 2018-10-24 19:54:33 · 707 阅读 · 0 评论 -
BZOJ 1875(DP+矩阵快速幂)
题面传送门分析容易想到根据点来dp 状态转移方程为dp[i]=∑(i,j)∈Edp[j]dp[i]=∑(i,j)∈Edp[j]dp[i]=\sum _{\left( i,j\right) \in E}dp\left[ j\right] 但这样得出的结果是错误的,因为它没有考虑一个点经过多次的情况因此,我们按边来dp,因为每条边只能经过一次,所以不会出现上面的问题 将无向边...原创 2018-08-29 17:48:40 · 252 阅读 · 0 评论 -
Codeforces 984D 题解(DP)
题面传送门 题目大意: 给你一个计算区间f函数的公式,举例f(1,2,4,8)=f(1⊕2,2⊕4,4⊕8)=f(3,6,12)=f(3⊕6,6⊕12)=f(5,10)=f(5⊕10)=f(15)=15 然后现在给你一个数列,n<=5000,然后q个询问,q<=100000,每次询问[l,r]区间内f函数的最大值是多少分析此题可用DP求解 设dp[i][j]dp[i]...原创 2018-05-28 19:54:00 · 230 阅读 · 0 评论 -
Codeforces 691E题解 DP+矩阵快速幂
题面E. Xor-sequences time limit per test3 seconds memory limit per test256 megabytes inputstandard input outputstandard output You are given n integers a1, a2, …, an.A sequence of integers x...原创 2018-05-15 20:09:42 · 523 阅读 · 0 评论 -
Codeforces 840C 题解(DP+组合数学)
题面C. On the Bench time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output A year ago on the bench in public park Leha found an array of n numbe...原创 2018-05-09 19:02:18 · 550 阅读 · 0 评论 -
Codeforces 833B 题解(DP+线段树)
题面B. The Bakery time limit per test2.5 seconds memory limit per test256 megabytes inputstandard input outputstandard outputSome time ago Slastyona the Sweetmaid decided to open her own bakery!...原创 2018-05-14 21:40:07 · 235 阅读 · 0 评论 -
HDU 5945 题解(DP)(单调队列)
题面:Fxx and game Time Limit: 3000/1500 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 2264 Accepted Submission(s): 600Problem Description Young theoretical com原创 2018-01-31 10:54:29 · 208 阅读 · 0 评论 -
HDU 1494 题解(DP)
题面:跑跑卡丁车 Problem Description 跑跑卡丁车是时下一款流行的网络休闲游戏,你可以在这虚拟的世界里体验驾驶的乐趣。这款游戏的特别之处是你可以通过漂移来获得一种 加速卡,用这种加速卡可以在有限的时间里提高你的速度。为了使问题简单化,我们假设一个赛道分为L段,并且给你通过每段赛道的普通耗时Ai和用加速卡的耗时Bi。加速卡的获得机制是:普通行驶的情况下,每通过1段赛道,可以获得原创 2017-12-31 22:51:50 · 306 阅读 · 0 评论 -
BZOJ4990 (LCS转LIS)
题面分析首先可以看出一个简单的DPdp[i][j]表示序列a前i个与序列b前j个连线数量dp[i][j]=max(dp[i−1][j],dp[i][j−1],dp[i−1][j−1](∣a[i]−b[j]∣&amp;lt;=4))dp[i][j]=max(dp[i-1][j],dp[i][j-1],dp[i-1][j-1]( \left| a[i]-b[j]\right|&amp;lt;...原创 2018-10-24 20:02:00 · 258 阅读 · 0 评论