摘要: 题目链接:https://www.acwing.com/video/472/ 给定n门课,存在先修关系,构成一个森林,修一门课之前他的先修课程一定要完成,问在选m门课的情况下最多能获得多少学分? 如果没有先修规则就是一个裸的01背包问题。但这个问题不能用01背包解决。 而是一个分组背包问题,设f[x 阅读全文
posted @ 2020-07-30 19:05 WA自动机~ 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.acwing.com/problem/content/286/ 给定一棵树的DFS序,求这棵树可能的形状有多少种? 由于dfs序中,每条边都访问两遍,从根节点进入只有一次,所以在有n个结点的树的DFS序的长度是2*n-1。根据区间DP,可以先构造这棵树的最右侧的子树 阅读全文
posted @ 2020-07-30 16:14 WA自动机~ 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1179 问题:给定一个环,其中边上是操作,有加和乘两种,点上是数值,执行的操作如下:找一条边断开,然后任选边开始将边相连的两个点进行运算后变成新的点,计算到最后变成一个点时这个点的最大值。由于合并两个区间的时候,如果操作数是加法的话容易 阅读全文
posted @ 2020-07-30 15:21 WA自动机~ 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1742 多重背包优化,给出若干面值硬币,和他们的数量,现在问1-m之间有多少数量是可以通过他们拼出的,复杂度需要控制,而且常数不能大。 解法非常巧妙,用g数组存上一个1离当前位置的距离,实际上这个问题是一个滑动窗口的问题,对于第i个面值 阅读全文
posted @ 2020-07-30 11:01 WA自动机~ 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.acwing.com/problem/content/description/282/ 题目给出两个序列p,d 要求寻找一个方案,使得p-d的绝对值最小,在绝对值相同的情况下p+d的值尽量大,通过dp保存状态:前i个人中选择了j个,并且差为k时的p+d的最大值。转移 阅读全文
posted @ 2020-07-30 09:47 WA自动机~ 阅读(169) 评论(0) 推荐(0) 编辑