CF1182 D Complete Mirror——思路】的更多相关文章

题目:http://codeforces.com/contest/1182/problem/D 很好的思路是从度数为1的点和直径来入手. 找一条直径.看看直径的两个端点是否合法. 如果都不合法,那么根一定在直径中点 md 伸出去的子树里. 伸出去的子树里的任意一点 x 到伸出去的子树里的一个叶子 y 的距离一定小于到直径端点的距离.不然直径就不是那条. 所以新的根只能是一个叶子,并且满足该叶子到其他所有叶子的距离一样. 也就是说,根一定是 md 伸出去的子树里最近的叶子.并且可以发现 md 到该…
Codeforces 中考考完之后第一个AC,纪念一下qwq 思路 简单理解一下题之后就可以发现其实就是要求一个点,使得把它提为根之后整棵树显得非常对称. 很容易想到树哈希来判结构是否相同,而且由于只有完全对称的时候才有用,所以比普通哈希还简单一些-- 吗? 你需要求出子树哈希值.祖先哈希值,还要记下来这个点下面是否都相等,还是会有一个捣乱的,还是整个都是乱的. 然后还要特判一个儿子.两个儿子.没有儿子-- 于是开开心心地150行了,删掉缺省源之后大概100行. emmm说的好像不是很清晰,那再…
题意:给你一颗树,问这颗树是否存在一个根,使得对于任意两点,如果它们到根的距离相同,那么它们的度必须相等. 思路1:树的重心乱搞 根据样例发现,树的重心可能是答案,所以我们可以先判断一下树的重心可不可以.如果不行,剩下的只可能是度为1点当根了.当然,我们不能枚举所有度为1的点,不然一个菊花图就超时了,我的做法是对于以重心为根的树搜索一遍,对于每个深度的度数为1的点只记录一个,然后枚举这些点,如果有就是有,否则没有.这样最坏的复杂度应该能到O(n * sqrt(n)),但是肯定跑不满.至于为什么这…
可以得到一个结论, 可行的点要么是直径端点, 要么是直径中点, 要么是直径中点引出的链中最短的端点 #include<cstdio> #include<algorithm> #include<iostream> #include<cstring> #include<queue> #define mmp make_pair #define ll long long #define M 100010 using namespace std; int…
D - Complete Tripartite 思路:这个题是个染色问题.理解题意就差不多写出来一半了.开始的时候还想用离散化来储存每个点的状态,即它连接的点有哪些,但很无奈,点太多了,long long范围内肯定存不完,于是想到用python来写,但是 py 也没有很熟练.....便放弃了. 需要注意的: 要统计总共有多少颜色,不然会漏掉只有两种颜色的情况,这种情况是输出-1的.还有前向星存边的时候记得开两倍. 代码: // Created by CAD on 2019/10/2. #incl…
Codeforces Round #566 (Div. 2) A Filling Shapes 给定一个 \(3\times n\) 的网格,问使用 这样的占三个格子图形填充满整个网格的方案数 如果 \(n\) 是奇数,那么显然无解,否则考虑每个 \(3\times2\) 的方格正好能塞下两个这玩意而且必须这样塞进去,方案数为 \(2\),因此答案为 \(2^{n/2}\) B Plus from Picture 给定一个 \(h\times w\) 的矩阵,每个元素为 "." 或者…
题目: 给出一棵树的表示,判断这棵树是否输入正确,如果正确就按层次遍历输出所有的结点,错误的话就输出not complete. 思路: 根据字符串中树的路径先将树建起来,在增加结点和层次遍历树的时候判断这棵树是不是输入正确. 错误的两种情况: 1.同一个结点被输入的两次 2.这个结点的孩子有值,但这个结点没有被输入值. 判断方法: 根据字符串中给出的路径,将整棵树先建起来,每个结点中设一个是否被访问过的标志vis 增加结点时如果这个结点的vis已经为true则为错误的情况1. 遍历树的时候,如果…
时间\(9.05\)好评 A Filling Shapes 宽度为\(3\),不能横向填 考虑纵向填,长度为\(2\)为一块,填法有两种 如果长度为奇数则显然无解,否则\(2^{n/2}\) B Plus from Picture 找到最靠上的十字轮廓(没有则直接无解),删掉后判断有无多余 C Beautiful Lyrics 以元音数量及最后的元音(如果没有元音的那些分别赋不同的负数)为一二关键词 开两个栈,代表诗头和诗尾 排序后,得到的以第一关键字的块,尽量把每一对放到诗尾,因为诗尾的也可以…
GP failover,primary和mirror切换实验 http://blog.sina.com.cn/s/blog_9869114e0101k1nc.html 一.恢复失败的segment出现segment节点down,恢复GP的思路:if"segment down" thencase "determine case(errer,message,log,gpstate and so on)"when "data error[missing or c…
描述 Magic Mirror is an artificial intelligence system developed by TAL AI LAB,It can determine human based on human bone information. Meternal use the magic mirror API,then he found after he input some photo to the system,it will output the two endpoi…