AGC009D Uninity】的更多相关文章

一些无关紧要的事: 似乎很久没写题解了……象征性地更一篇.另外很多blog都设了私密,不是很敢公开,不过说不定哪天会公开的. link 题意: 最优树的点分治:使得点分最大层数最小.(听说是经典问题) $n\leq 10^5.$ 题解: 性质+贪心. 给每个点按照高度标号(即从深度最深的开始标1,它的父亲标2,高度越高标号越大).那么原问题可以转化为使得标号最大的点最小. 一个性质:原树上任意标号相同的两点间必存在一个标号大于它们的点.(显然,想象点分过程) 考虑自底向上给每个点编号.每个点维护…
构造题都是神仙题 /kk ARC066C Addition and Subtraction Hard 首先要发现两个性质: 加号右边不会有括号:显然,有括号也可以被删去,答案不变. \(op_i\)和\(A_{i+1}\)之间只会有一个括号:有多个括号的话只保留最外边那个,答案不变. 然后就可以定义状态:\(dp_{i,j}\)表示前\(i\)个数,还有\(j\)个未闭合的左括号,得到的最大答案. 由于只有减号右边有括号,所以只要知道左边有几个未闭合的左括号,就可以知道自己的贡献是\(1\)还是…
题目传送门:https://agc009.contest.atcoder.jp/tasks/agc009_d 题目翻译 定义只有一个点的树权值为\(0\),若干棵(可以是\(0\)棵)权值为\(k\)的树任选一个点向一个单独的结点\(v\)连边,新生成的树的权值为\(k+1\).显然对于一棵树他的权值是一个范围\([x,inf)\),求给定的树的权值范围的最小值.\(n\leqslant10^5\) 题解 假设\(bit[i]\)为以\(i\)为根的子树的权值.那么任何一对权值相同的点在树上的简…
原文链接https://www.cnblogs.com/zhouzhendong/p/AtCoder-Grand-Contest-from-1-to-10.html 考虑到博客内容较多,编辑不方便的情况,我决定把做题小记拆开写. 题解中的低级错误请指出,但是由于这里写的都是简要题解,所以具体细节就不要问我了. 咕咕咕 AGC009E 突然发现 AGC001F 怎么没做 AGC001 D 出现奇数的个数大于2时一定无解(构造图,从图的连通性方面考虑).然后,如果有奇数,把他们放到头尾,然后 b 数…
AtCoder Grand Contest 009 A - Multiple Array 翻译 见洛谷 题解 从后往前考虑. #include<iostream> #include<cstdio> using namespace std; #define ll long long #define MAX 100100 inline int read() { int x=0;bool t=false;char ch=getchar(); while((ch<'0'||ch>…
一句话题解 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:数学,质因数分解,…
BZOJ2599. 放板子.利用agc009-D 代码简洁了很多 #include <bits/stdc++.h> #define N 200005 using namespace std; ],H[N],x,y,z,h[N],f[],T,O,e[N],ans,d[N],g[N],t; vector <int> a[N],b[N]; void QH(int x,int fa){ ; ;i<a[x].size();++i) if (a[x][i]!=fa){ QH(y=a[x]…
A`>G?~C009 这场怎么才5题...看完猫的提交记录以为猫猫没写这场F A Multiple Array 直接做 B Tournament 直接树d C Division into Two 毒瘤题 D Uninity 毒瘤题 考虑点分树的性质,两个深度相同的点中间必须有一个深度更小的点 只需要满足这个性质可以从下到上腾讯 然而我也不会做(抄题解) E Eternal Average 毒瘤题…
AGC009 A - Multiple Array 从后往前递推即可 #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-10 #define…