摘要: 分析: 模拟赛T3,其实很水,当时出于某些原因,没有去写这道题... len>46必定有解 为了满足不是三角形,那么斐波那契数列是最优选择,而斐波那契数列的第46项超过了2^31-1,所以超过46不能选 之后朴素LCA+暴力(暴力我一开始没有想到怎么写...) 附上代码: 阅读全文
posted @ 2018-05-23 22:32 Winniechen 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 分析: 树形DP中的一种,基环树DP 针对每一个环跑DP,f[i],g[i]分别表示选或者不选,之后我们注意每次遍历的时候,不要重复遍历。 附上代码: 阅读全文
posted @ 2018-05-23 22:27 Winniechen 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 分析: 构造法...每次找到一个没有被选过的数,用这个数推出一个表格,之后在表格上跑状压DP,时间复杂度O(n) 附上代码: 阅读全文
posted @ 2018-05-23 22:23 Winniechen 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 分析: 这个题的状压DP还是比较裸的,考虑将疾病状压,得到DP方程:F[S]为疾病状态为S时的最多奶牛数量,F[S]=max{f[s]+1}; 记得预处理出每个状态下疾病数是多少... 附上代码: 阅读全文
posted @ 2018-05-23 22:21 Winniechen 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 分析: 我们如果选择点i,那么我们不能选择i-1和i+1,如果没有这个限制,直接贪心就可行,而加上这个限制,我们考虑同样贪心,每次选择i后,将点i-1,i+1从双向链表中删除,并且将-a[i]+a[i-1]+a[i+1]推入堆中,处理K次,得到最优答案 附上代码: 阅读全文
posted @ 2018-05-23 21:02 Winniechen 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 分析: 这个题一看就是裸的树剖... 唯一值得考虑的就是它的根一直在变化,我们可以这样想,如果假根在这个点的子树外,那么直接将这个点的子树作为答案区间,如果在子树内,则相对复杂,我们假设son为root所在的节点x的儿子的子树内的儿子编号,那么答案就是min(1到idx[son]-1,idx[son 阅读全文
posted @ 2018-05-23 20:58 Winniechen 阅读(119) 评论(0) 推荐(0) 编辑