ARC083E. Bichrome Tree】的更多相关文章

A viable configuration of the given tree can be divided into two trees, each consists of vertices of the same color (if we compress edges and add a dummy root node when needed). Let's call them $T_B$ and $T_W$, respectively. Note that $T_B$ and $T_W$…
Bichrome Tree 时间限制: 1 Sec  内存限制: 128 MB 题目描述 We have a tree with N vertices. Vertex 1 is the root of the tree, and the parent of Vertex i (2≤i≤N) is Vertex Pi.To each vertex in the tree, Snuke will allocate a color, either black or white, and a non-n…
Description ​ 给一棵\(n\)个节点的树,和一个长度同样为\(n\)的非负整数序列\(x_i\). ​ 请尝试对每个节点染黑或白两种颜色,并确定一个非负整数权值. ​ 问是否存在一种方案,使得每个点\(i\)满足其子树内与其同色的点的权值之和恰好为\(x_i\). ​ \(1 \le n \le 1000\) ​ \(0 \le x_i \le 5000\) Solution ​ 一道好题. ​ 我们自底向上逐步确定权值.假设当前正在考虑\(u\)这个点. ​ 我们发现,\(u\)…
Description 有一颗N个节点的树,其中1号节点是整棵树的根节点,而对于第ii个点(2≤i≤N)(2≤i≤N),其父节点为PiPi 对于这棵树上每一个节点Snuke将会钦定一种颜色(黑或白),以及一个非负整数的点权. Snuke有一个他最喜欢的整数序列,X1,X2,...,XNX1,X2,...,XN,他希望能够钦定这些点的点权和颜色.使得: 对于每一个点ii,都满足ii的整颗子数内所有和ii颜色相同的点(包括ii本身)的点权和恰好为XiXi. 现在给定你这棵树的结构和Snuke最喜欢的…
[算法]树型DP [题意]给定含n个点的树的形态,和n个数字Xv,要求给每个点赋予黑色或白色和权值,满足对于每个点v,子树v中和v同色的点的权值和等于Xv.n<=10^5 [题解]首先每个点的权值可以任意大,那么v的子树(不含v的部分)权值多少就无所谓了(因为缺的可以由v来补足),但是太大的话超过Xv就不可行了. 也就是说对于一个点v,假定其为黑色,那么子树中黑色总和为Xv,白色总和就要最小(从而后面加起来超过的可能更小),将白色总和定义为f[v]. 那么点v选择为黑色后,假设子树黑色总和为B(…
题目传送门:https://arc083.contest.atcoder.jp/tasks/arc083_c 题目大意: 给定一棵树,你可以给这些点任意黑白染色,并且赋上权值,现给定一个序列\(X_i\),满足对于每一个点\(i\),整棵子树内所有和\(i\)颜色相同的点的权值和为\(X_i\),问是否可能 首先因为权值大小任意,所以\(v\)的子树内权值和只要不超过\(X_v\)就好,那么对于一个点\(v\)假定其为黑色,那么子树中黑色总和为\(X_v\),白色总和就要尽量小,定义为\(f_v…
树形DP. 每个点有两个属性:黑色点的权值和,白色点权值和,一个知道另一个也一定知道. 因为只要子树的和它相等的点得权值和不超过x[u],u点的权值总能将其补齐. 设计状态f[u]表示以u为根的子树,和u颜色不同的最小权值和,树形背包转移. #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int N=1005; struct Edge{ int to,…
C - Sugar Water 计算一下可以达到水是多少,可以到达的糖是多少 枚举水,然后加最多能加的糖,是\(min(F - i *100,E * 100)\),计算密度,和前一个比较就行 #include <bits/stdc++.h> #define fi first #define se second #define pii pair<int,int> #define mp make_pair #define pb push_back #define space putch…
C - Sugar Water Time limit : 3sec / Memory limit : 256MB Score : 300 points Problem Statement Snuke is making sugar water in a beaker. Initially, the beaker is empty. Snuke can perform the following four types of operations any number of times. He ma…
Bichrome Spanning Tree 题意: 给出一个n个点,m条边的无向连通图,现在要给每条边染色,可以染成黑色或者白色. 现在要求在染色完毕后,找出一个至少包含一条黑边和一条白边的最小生成树,使其权值和为X. 问这样的染色方案有多少个? 题解: 题目要求找出一个至少包含一条黑边和白边的最小生成树,那么可能就会存在这种情况:原图的最小生成树所有边都为同色,那这不是我们要求的:我们这时就会去掉一条权值最大的边,再添一条边进来. 那么我们就可以算出包含指定边的最小生成树,方法就是先加我们指…