随笔分类 -  动态规划

摘要:传送门:https://www.luogu.org/problem/P1063 从今以后区间dp应该没问题了 很容易想到和石子合并一样的操作,首先破环为链,将环断开变成两倍,题中的例子就会变成这 之后设dp[ l ][ r ],分别枚举起点 i 和长度 k 以及分割点 x 由此可得状态转移方程:dp 阅读全文
posted @ 2019-10-23 20:50 nono_ttaa 阅读(143) 评论(0) 推荐(0)
摘要:传送门:https://www.luogu.org/problem/P1776 (多重背包) 很久就想用二进制拆分做一下了,这道题本来是用单调队列优化可惜蒟蒻我不会。 于是我就用二进制拆分牺牲空间复杂度换来了时间复杂度。 任何一个数都可以拆成二进制(其实不鬼畜) e.g. 15=1+2+4+8 7= 阅读全文
posted @ 2019-10-23 11:02 nono_ttaa 阅读(263) 评论(0) 推荐(0)
摘要:传送门:https://www.luogu.org/problem/P2066 这道题对我这种蒟蒻来说还是太难了 阅读全文
posted @ 2019-10-16 21:11 nono_ttaa 阅读(227) 评论(0) 推荐(1)
摘要:传送门:https://www.luogu.org/problem/SP1700 阅读全文
posted @ 2019-10-02 08:23 nono_ttaa 阅读(218) 评论(0) 推荐(0)
摘要:状态压缩,用二进制来保存状态 阅读全文
posted @ 2019-10-01 09:51 nono_ttaa 阅读(188) 评论(0) 推荐(0)
摘要:传送门:https://www.luogu.org/problem/P2946 本题类似于01背包,定义 dp[i][j] 表示前 i 个牛,总和取模幸运值为 j 时的数量,a[i]为第j头牛的能力值,很明显dp[i][j]+=dp[i-1][j](不选择第i头牛)+dp[i-1][(j-a[i]+ 阅读全文
posted @ 2019-09-27 20:36 nono_ttaa 阅读(203) 评论(0) 推荐(0)
摘要:题目传送门:https://www.luogu.org/problem/P2893 本题系神奇的dp(这辈子都学不懂的玩意)。由于数据的 Ai 过大所以在其中进行排序处理,将它的下标作为它的大小(通俗离散化)。 我们用f[i][j]将前i段变作不下降序列,且第j段道路的高度为b[j]时的最小花费,显 阅读全文
posted @ 2019-09-21 16:13 nono_ttaa 阅读(194) 评论(0) 推荐(0)
摘要:本题就是一个贪心+完全背包,很容易想到如果想要用化简会被其他货币凑出的货币,那么就必须从小到大凑(因为大的一定凑不出小的,而小的有可能凑出大的)。所以由此如何判断呢?就写一个完全背包判断(而且不用每新的货币就重新计算,可以从前往后依次计算(减小时间复杂度))。这样判断后若无法凑出就ans++。(好了 阅读全文
posted @ 2019-07-15 10:22 nono_ttaa 阅读(203) 评论(0) 推荐(0)
摘要:题目描述 有N个不同的正整数数x1, x2, ... xN 排成一排,我们可以从左边或右边去掉连续的i(1≤i≤n)个数(只能从两边删除数),剩下N-i个数,再把剩下的数按以上操作处理,直到所有的数都被删除为止。 每次操作都有一个操作价值,比如现在要删除从i位置到k位置上的所有的数。操作价值为|xi 阅读全文
posted @ 2019-02-01 17:51 nono_ttaa 阅读(113) 评论(0) 推荐(0)
摘要:约翰经常给产奶量高的奶牛发特殊津贴,于是很快奶牛们拥有了大笔不知该怎么花的钱.为此,约翰购置了N(1≤N≤2000)份美味的零食来卖给奶牛们.每天约翰售出一份零食.当然约翰希望这些零食全部售出后能得到最大的收益.这些零食有以下这些有趣的特性: •零食按照1..N编号,它们被排成一列放在一个很长的盒子 阅读全文
posted @ 2018-10-04 08:46 nono_ttaa 阅读(149) 评论(0) 推荐(0)