--------dp--------
dp
Sand_IN_MysterieS
这个作者很懒,什么都没留下…
展开
-
DP+思维
DP+思维 Codeforces Round #765 (Div. 2) C 因为期末考试,很久没有打题了,这是寒假复健训练外加dp苦手的救赎 题意: 给n个限速牌,每个限速牌写上ai,表示经过本限速牌后今后每公里限制走ai单位的时间。 再给定每个牌的位置。 求至多去除k个牌能花的最短时间 其中不可以去除在位置0处的第一个牌,因为它给定了初始速度 解法: 起初想的贪心暴力过,但是不太行,就当练习链表了 然后是dp 考虑dp[i][j]表示从第i个牌子开始走到最后,切掉j个牌儿(不包括自己)花的最短时间 丢脸原创 2022-01-13 14:23:01 · 106 阅读 · 0 评论 -
题目:经商
经商 没读完题,并查集码上 读完了题,发现居然是dp 01背包才是重点 当然,我在练习并查集。 LINK 题意:给你一个交际圈网(无向图),问你这个人(根节点1),能够在给定的体力内与人交际得到最大的利益。 思路:并查集联系所有人,然后找出你的关系网,01背包化。 dp[i]表示花费i体力能得到的最大利益 所以,方程为:dp[i]=max(dp[i],dp[i-a]+b); 遍历方式为,遍历所有有关系的点,对于每个点再遍历所有能够到达这个点的剩余体力值,得到体力关系。 最后输出dp[c]就好了 #inc原创 2020-06-09 22:47:09 · 139 阅读 · 0 评论 -
Arithmetic Progressions
Arithmetic Progressions dp来了 目前,到以后可能很久 dp的题都是参考加整理加自我思考的 参考博客: 思路:dp[i][j]表示,以a[i],a[j]为开头的等差数列的最大长度 先看看题目: 大意:给出n个数,从这些数中选取数字,然后构成一个等差数列,求可构成的数列的最长值 思路:显然是dp,暴力n3n^3n3枚举就罢了,详细思路如上 解法: #include<cassert> #include<string> #include<cmath>原创 2020-06-04 00:02:06 · 223 阅读 · 0 评论 -
Codeforces Round #641 (Div. 2) B
Codeforces Round #641 (Div. 2) B dp苦手,理解万岁 –>Link Orac and Models 题意:给定长度为n的数串,求它的一个子串满足以下条件并且长度最长: 值递增 下标j为j-1的倍数 思路:dp[i]表示以下标i为结尾的,最长的满足条件子串的长度: dp[i]=max(dp[i],dp[j]+1) 因为是以倍数增长的数列详见循环: #include<cassert> #include<string> #include<原创 2020-05-13 22:07:28 · 160 阅读 · 0 评论