板刷计划:ARC070

前言:069三道纯思维 + 一道不可做图论.就没写博客了..

C.水

D.背包dp,思维

题意:给你一个序列.它的子集S被称为好子集,当它的数字和 >= k. 然后对于任意一个序列里的数x.若x所在的所有集合都可以去除它后依旧是好集合,则称x为没必要的.问你有多少个数是没必要的.

子问题: n <= 300

总: n <= 5000.

子问题: 将一个数x拿出来,对其他数做dp.当区间[k - x , k] 中有值能被组成时,它就是有意义的.跑n遍背包.复杂度:

总问题:

注意到,若某个比X小的数有意义,那么X就是有意义的.

所以根据上述定义容易推出:无意义的数一定是从小到大序列中的一段前缀.

方法一:沿用子问题方法,用二分优化.复杂度:,不知道过不过的去

方法二:进一步思考:若一个数X需要借助比他小的数来达成有意义的.那么那个比他小的数就是有意义的.那么X自然也就是有意义的.所以我们直接从大往小dp.得到最小的有意义的数的位置pos.答案就是pos - 1.

E.神仙dp

题目大意:有n层,每一层有一个区间[Li,Ri].你可以平行的移动一段区间整数距离,花费就是移动的距离.

问你最小的花费使他们连通.

子问题: n , l , r <= 400.

总问题: n <= 1e5. l , r <= 1e9

子问题解法:容易想到代表保证前i层连通,最后一层的左端点位于j位置的最小花费.转移即可.

总问题解法:斜率优化.待补.

F.交互题.溜了

你可能感兴趣的:(板刷计划:ARC070)