[AtCoder Regular Contest 083] Bichrome Tree】的更多相关文章

树形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 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…
题目传送门:https://arc083.contest.atcoder.jp/tasks/arc083_c 题目大意: 给定一棵树,你可以给这些点任意黑白染色,并且赋上权值,现给定一个序列\(X_i\),满足对于每一个点\(i\),整棵子树内所有和\(i\)颜色相同的点的权值和为\(X_i\),问是否可能 首先因为权值大小任意,所以\(v\)的子树内权值和只要不超过\(X_v\)就好,那么对于一个点\(v\)假定其为黑色,那么子树中黑色总和为\(X_v\),白色总和就要尽量小,定义为\(f_v…
题意 有一张无向带权连通图(点数<=300),给出任意两点i,j之间的最短路长度dis[i][j].问是否存在一张这样的无向图.如果不存在输出-1.如果存在输出所有这样的无向图中边权和最小的一张的边权和. 分析 如果存在i,j,k(i,j,k互不相同)使得dis[i][k]+dis[k][j]<dis[i][j]那么一定不存在.否则一定存在. 对于i,j(i!=j),如果存在第三个点k使得dis[i][k]+dis[k][j]=dis[i][j],那么为了总的边权和最小,i和j必然没有连边,i…
题意 给你一个空杯子,有4种操作: 操作1 加100a克的水 操作2 加100b克的水 操作3 加c克的糖 操作4 加d克的糖 糖的质量不能超过水的质量e/100 糖和水的总质量不能超过f 糖的质量不能超过水的质量a/100 在此前提下糖的浓度最大 输出糖和水的总质量以及糖的质量 分析 根据原题数据范围,可以直接三重for循环枚举操作1,2,3的次数. 坑点在于不能没有水,因此最大浓度下不能加糖时至少要有100a克的水. #include <cstdio> #include <cstri…
AtCoder Regular Contest 093 C - Traveling Plan 题意: 给定n个点,求出删去i号点时,按顺序从起点到一号点走到n号点最后回到起点所走的路程是多少. \(n\le 2e5\) 分析: 可以通过观察发现,无论删去那个点,比全部都走所差距的距离都是\(|a_i-a_{i-1}|-|a_{i+1}-a_i|+|a_{i-1}-a_{i+1}|\) 所以直接枚举即可. #include <bits/stdc++.h> using namespace std;…
AtCoder Regular Contest 095 C - Many Medians 题意: 给出n个数,求出去掉第i个数之后所有数的中位数,保证n是偶数. \(n\le 200000\) 分析: 发现题目范围支持\(nlogn\)做法. 我们可以对这些数字建立一棵平衡树,先全加进去,再一边删除一边find一边再加,非常容易想到的解法,但是真要这么写估计排名高不到哪里去. 考虑删除一个数之后中位数的情况,明显只有两种,一种是你删除的数小于等于中位数,还一种是大于中位数,那么可以先排序找出中位…
AtCoder Regular Contest 061 C.Many Formulas 题意 给长度不超过\(10\)且由\(0\)到\(9\)数字组成的串S. 可以在两数字间放\(+\)号. 求所有方案的数字和. 思路 \(2^{|S|-1}\)枚举加号的放置状态 代码 Many Formulas D.Snuke's Coloring 题意 在一个\(H \times W(3 \le H,W \le 10^9)\)的棋盘上,有\(N(N \le 10^5)\)个格子被染成黑色,其余格子为白色.…
原文链接http://www.cnblogs.com/zhouzhendong/p/8735114.html $AtCoder\ Regular\ Contest\ 094(ARC094)\ CDE$题解 本次$ARC$可谓是手速场.当时由于博主实在zz导致滚粗,rk89. 下面是题解. 总结了一下,三道结论题.样例都不错,猜到结论基本上就可以过掉了. 严重差评!!!大概要涨不了多少rating了QAQ(暴露了我的Rating是多么低),xza怎么没来?? (UPD:2018-04-07 21:…
AtCoder Regular Contest 092 C - 2D Plane 2N Points 题意: 二维平面上给了\(2N\)个点,其中\(N\)个是\(A\)类点,\(N\)个是\(B\)类点.每个\(A\)类点可以和横纵坐标都比它大的\(B\)类点匹配,求最大匹配数. 分析: 网络流裸题. #include <bits/stdc++.h> using namespace std; #define MAXN 110 #define inf 0x7fffffff int head[5…