题目描述 In a village called Byteville, there are   houses connected with N-1 roads. For each pair of houses, there is a unique way to get from one to another. The houses are numbered from 1 to  . The house no. 1 belongs to the village administrator Byte…
题意: $mhy$ 住在一棵有 $n$ 个点的树的 $1$ 号结点上,每个结点上都有一个妹子. $mhy$ 从自己家出发,去给每一个妹子都送一台电脑,每个妹子拿到电脑后就会开始安装 $zhx$ 牌杀毒软件,第 $i$ 个妹子安装时间为 $Ci$. 树上的每条边 $mhy$ 能且仅能走两次,每次耗费 $1$ 单位时间.$mhy$ 送完所有电脑后会回自己家里然后开始装 $zhx$ 牌杀毒软件. 卸货和装电脑是不需要时间的. 求所有妹子和 $mhy$ 都装好 $zhx$ 牌杀毒软件的最短时间. 题解:…
[BZOJ3829][Poi2014]FarmCraft Description In a village called Byteville, there are   houses connected with N-1 roads. For each pair of houses, there is a unique way to get from one to another. The houses are numbered from 1 to  . The house no. 1 belon…
(感觉洛谷上题面那一小段中文根本看不懂啊,好多条件都没讲,直接就是安装也要一个时间啊,,,明明不止啊!还好有百度翻译......) 题意:一棵树,一开始在1号节点(root),边权都为1,每个点有点权,要最小化max(点权+到达时间) <---所有点的 首先这看起来就是一道DP题,但是根据直觉,,,应该跟贪心挂钩,因为感觉耗时久的要先去是吧 但是我们发现并不能这么弄,因为去一棵子树就要走完它,这个时候再去别的树的时候可能已经很晚了,所以就不一定优了 不过我们可以发现,从一个点出发,去节点的顺序就…
题目链接 https://www.luogu.org/problem/P3574 题意 翻译其实已经很明确了 分析 这题一眼就是贪心啊,但贪心的方法要思索一下,首先是考虑先走时间多的子树,但不太现实,因为时间跟点的个数也有关系,而且很有可能另外一棵子树不去走会闲置很长时间,就是这棵子树本来可以走一遍然后在子树装软件的时候去走别的树,所以不能这么贪心.那,要怎么办呢? 对于一棵子树,我们必须要走的是跑路时间,而安装可以在去别的子树走的时候干,所以我们肯定要先弄安装时间-跑路时间最大的子树,因为这样…
FarmCraft 题目链接:https://lydsy.com/JudgeOnline/problem.php?id=3829 数据范围:略. 题解: 因为每条边只能必须走两次,所以我们的路径一定是进入了一棵子树然后出来,不可能再进去. 我们根据这个性质,设计出状态$f_i$表示以$i$为根的子树答案即可. 转移时,我们发现需要对儿子进行一个排序,我们就暴力的判断一下哪个儿子在前面更优即可. 代码: #include <bits/stdc++.h> #define N 1000010 usi…
题目描述 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接,我们可以把它看成一个有根树结构,其中0号节点是根节点.这个树的每个节点上都会有一些樱花,其中第i个节点有c_i朵樱花.樱花树的每一个节点都有最大的载重m,对于每一个节点i,它的儿子节点的个数和i节点上樱花个数之和不能超过m,即son(i) + c_i <= m,其中son(i)表示i的儿子的个数,如果i为叶子节…
[BZOJ3522][Poi2014]Hotel Description 有一个树形结构的宾馆,n个房间,n-1条无向边,每条边的长度相同,任意两个房间可以相互到达.吉丽要给他的三个妹子各开(一个)房(间).三个妹子住的房间要互不相同(否则要打起来了),为了让吉丽满意,你需要让三个房间两两距离相同.有多少种方案能让吉丽满意? Input 第一行一个数n.接下来n-1行,每行两个数x,y,表示x和y之间有一条边相连. Output 让吉丽满意的方案数. Sample Input 7 1 2 5 7…
传送门 1.树形DP #include <cstdio> #include <cstring> #include <iostream> #define N 10001 using namespace std; int n, cnt; int f[N][3], head[N], to[N << 1], next[N << 1]; bool vis[N]; //f[i][0]表示当前子树全选中,且根节点有放 //f[i][1]表示当前子树全选中,但根…
题目描述 有一个树形结构的宾馆,n个房间,n-1条无向边,每条边的长度相同,任意两个房间可以相互到达.吉丽要给他的三个妹子各开(一个)房(间).三个妹子住的房间要互不相同(否则要打起来了),为了让吉丽满意,你需要让三个房间两两距离相同.有多少种方案能让吉丽满意? 输入 第一行一个数n.接下来n-1行,每行两个数x,y,表示x和y之间有一条边相连. 输出 让吉丽满意的方案数. 样例输入 7 1 2 5 7 2 5 2 3 5 6 4 5 样例输出 5 提示 [样例解释] {1,3,5},{2,4,…