摘要: Description 一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数。 例如S={1,1,1,4,13}, 1 = 1 2 = 1+1 3 = 1+1+1 4 = 4 5 = 4+1 6 = 4+1+1 7 = 4+1+1+1 8无法表示为集合S的子集的和,故集合S的神秘数 阅读全文
posted @ 2018-03-30 21:21 void_f 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Description "题目链接" Solution 在虚树上跑DP即可 关于虚树的建立,是维护一个最右链的过程 关键代码如下: c++ sort(A+1,A+k+1,cmp);//按dfs序排序 s[top=1]=1;//栈维护最右链 for(int i=1;i1&&dep[f] include 阅读全文
posted @ 2018-03-30 19:12 void_f 阅读(138) 评论(0) 推荐(0) 编辑
摘要: Description "题目链接" Solution 在虚树上跑DP即可 Code c++ include include include include define ll long long define N 250010 using namespace std; const ll Inf=1 阅读全文
posted @ 2018-03-30 19:08 void_f 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Description "题目链接" Solution 可以想到,每次肯定是拿最大价值为最优 考虑改变树上一个点的值,只会影响它的子树,也就是dfs序上的一个区间, 于是可以以dfs序建线段树,这样就变成区间问题了 Code c++ include include define MID int mi 阅读全文
posted @ 2018-03-30 15:15 void_f 阅读(215) 评论(0) 推荐(0) 编辑