长链刨分
不要默认的人生
这个作者很懒,什么都没留下…
展开
-
codeforces 1009F(长链刨分加二维数组优化)
思路:长链刨分,找出最长链,进行从下到上的dp,哪层多就选哪个。 代码是取自大佬的,但大佬的博客进不去了,就不写网址了。 #include<bits/stdc++.h> using namespace std; const int N=1e6+5; int head[N],nxt[N<<1],to[N<<1]; int son[N],dep[N]; int cn...转载 2020-01-18 23:24:40 · 226 阅读 · 0 评论 -
3252: 攻略(长链刨分)
题意:给你一棵树,每个节点都有一个价值,但每个价值只能加一次,选择k次图上叶子节点到叶子节点,使得这k次经过的价值最大(注意不能重复)。 思路:找一个点当作根节点,长链刨分。 代码: #include<bits/stdc++.h> using namespace std; const int N=200005; typedef long long ll; int head[N],nxt...原创 2020-01-15 15:12:47 · 190 阅读 · 0 评论 -
猴猴吃苹果
题目描述 猴猴最喜欢在树上玩耍,一天猴猴又跳上了一棵树,这棵树有N个苹果,每个苹果有一个编号,分别为0~N-1,它们之间由N-1个树枝相连,猴猴可以从树枝的一端爬到树枝的另一端,所以猴猴可以从任意一个苹果的位置出发爬到任意猴猴想去的苹果的位置。猴猴开始在编号为K的苹果的位置,并且把这个苹果吃了,之后每一天猴猴都要去吃一个苹果,但是树上那么多苹果吃哪个呢?猴猴想到自己去吃苹果时一定会把路上遇到的苹果...原创 2020-01-15 11:44:21 · 424 阅读 · 0 评论