AtCoderACGC001C Shorten Diameter】的更多相关文章

Description: 给定一个\(n\)个点的树,要求删去最少的点使树的致直径不超过k Solution: 如果\(k\)为偶数,对于最终状态一定是以每一个点为根任何点的深度不能超过\(k/2\),那我们就以每个点为根求一下深度,然后再求一遍最小值,我们来看\(k\)为奇数时,我们先钦定一条边固定,分别以两端为根求深度,将问题转化为\(k\)为偶数即可 Code: #include<cstdio> #include<cstring> #include<iostream&g…
Shorten Diameter Time limit : 2sec / Stack limit : 256MB / Memory limit : 256MB Score : 600 points Problem Statement Given an undirected tree, let the distance between vertices u and v be the number of edges on the simple path from u to v. The diamet…
链接:http://agc001.contest.atcoder.jp/tasks/agc001_c 题解(官方): We use the following well-known fact about trees.Let T be a tree, and let D be the diameter of the tree. • If D is even, there exists an vertex v of T such that for each vertex w inT, the dis…
题目: Problem Statement Given an undirected tree, let the distance between vertices \(u\) and \(v\) be the number of edges on the simple path from \(u\) to \(v\). The diameter of a tree is the maximum among the distances between any two vertices. We wi…
一开始没看到要保证最后是树--所以一定要从叶子开始删 枚举重心,如果k是偶数,那么按当前重心提起来deep大于k/2的全都要切掉,这样枚举重心然后取min即可 奇数的话就是枚举直径中间的边,然后从两边的点分别dfs删点 #include<iostream> #include<cstdio> using namespace std; const int N=5005; int n,k,m,h[N],cnt,ans=1e9,sm; struct qwe { int ne,no,to;…
RE:从零开始的AGC被虐(到)生活(不能自理) 「一直注视着你,似近似远,总是触碰不到.」 --来自风平浪静的明天 AtCoder Grand Contest 001 B: Mysterious Light 设 \(f(x, y)\) 为上一次反射长度为 \(x\) ,边界长度为 \(y\) 的答案,容易观察得到 \(f(x, y) = 2 \times \lfloor\frac{y}{x}\rfloor \times x + f(y \mod x, x)\) C: Shorten Diame…
一句话题解 QwQ主要是因为这篇文章写的有点长……有时候要找某一个题可能不是很好找,所以写了这个东西. 具体的题意.题解和代码可以再往下翻._(:з」∠)_ AGC 001 C:枚举中点/中边. D:构造. E:根据组合数意义转为$DP$. F:拓扑排序,线段树优化连边. AGC 002 C:水题,看是否有a[i]+a[i+1]>=k. D:并查集上倍增,二分答案. E:博弈(坑) F:模型转化然后$DP$. AGC 003 C:一个数到自己应到位置距离为奇数的个数/2. D:数学,质因数分解,…
AGC001 A BBQ Easy 贪心. https://agc001.contest.atcoder.jp/submissions/7856034 B Mysterious Light 很nb这个题 不好做,设\(f(a,b)\)表示边长为\(a,b\),一个角为\(60\)度的平行四边形从\(120\)度的角平分线处出发能走的路程,转移是一个递归,复杂度证明类似\(\gcd\). https://agc001.contest.atcoder.jp/submissions/7856746 C…
AGC001 A - BBQ Easy 从第\(2n - 1\)个隔一个加一下加到1即可 #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 putchar(' ') #define enter putchar('\n') #define eps 1e-…
A没意思 F太难 所以大概近期的AGC题解都是BCDE的 然后特殊情况再说 开始刷AGC的原因就是计数太差 没有脑子 好几个学长都推荐的AGC所以就开始刷了 = = 大概两天三篇的速度?[可能也就最开始几天能有这个速度= =] 好了不多说了 开始题解 ————————我是分割线———————— B - Mysterious Light 比较有趣 画几个图就发现每次去掉两条就是平行四边形 除了第一次的两条不一样长以外 其他的都还是一样长的 然后就得到了一个类欧几里得的算法 那么把减法变成取模就搞定…