随笔分类 -  动态规划— —线性dp

摘要:" bzoj1911 ,懒得复制,戳我戳我" Solution: 线性DP~~(打牌)~~ $dp$方程还是很好想的:$dp[i]=dp[j 1]+a (s[i] s[j 1])^2+b (s[i] s[j 1])+c$ 我们假定$js[i]$$ 然后维护一个下凸包就好了 Code: cpp //I 阅读全文
posted @ 2018-06-21 18:23 Ning_Mew 阅读(174) 评论(0) 推荐(0)
摘要:" bzoj1597 懒得复制,戳我戳我" Solution: 线性DP~~打牌~~$+$斜率优化 定义状态:$dp[i]$到了位置$i$最少花费 首先我们要发现,如果有一个小方块能被其他的大方块包围,其实可以忽略这个小方块,因为我们可以把他们俩捆绑,小方块的边长不会对求值造成贡献 然后我们可以按照 阅读全文
posted @ 2018-06-21 18:23 Ning_Mew 阅读(155) 评论(0) 推荐(0)
摘要:" bzoj1207 ,懒得复制,戳我戳我" Solution: 挺傻逼的一个$dp$,直接推就好了 这题在bzoj上的数据有点问题,题目保证每个时间点不会出现在同一位置两个地鼠,然而他有= =(还浪费我20分钟差错 Code: $luogu$ AC代码: cpp //It is coded by 阅读全文
posted @ 2018-05-12 16:50 Ning_Mew 阅读(307) 评论(0) 推荐(0)
摘要:" bzoj1190 ,懒得复制,戳我戳我" Solution: 这道题其实是一个背包(分组背包),但是由于数字比较大,就要重新构造dp式子。啃了三天才懂。 $dp[i][j]$表示背包容积为$j 2^i$时的最大价值。 首先,因为每一个物品一定是$a 2^b$,我们可以按照$b$值先按照普通的分组 阅读全文
posted @ 2018-04-29 15:14 Ning_Mew 阅读(185) 评论(0) 推荐(0)
摘要:"懒得复制,戳我戳我" Solution: 傻逼题目,直接dp就可以了,他是求最后一次的最大值 Code: cpp //It is coded by Ning_Mew on 4.17 include using namespace std; const int maxn=55,maxl=1000+7 阅读全文
posted @ 2018-04-29 15:14 Ning_Mew 阅读(176) 评论(0) 推荐(0)
摘要:"原题戳我" Solution: (部分复制 "Navi_Aswon博客" ) 解释博客中的两个小地方: $$\sum_{\left(S是G中y→x的一条路径的点集\right))}\prod_{2≤j≤n,(j∉S)}degree_j$$ 因为加了$x$到$y$这条边出现了环,所以环上一定有一条边 阅读全文
posted @ 2018-03-17 11:38 Ning_Mew 阅读(274) 评论(0) 推荐(0)