
tree
chr1st0pher
Dancer on the keyboard
展开
-
2020 CCPC 长春 F. Strange Memory(树上启发式合并)
DescriptonExampleinput64 2 1 6 6 51 22 31 44 54 6output18Solution原创 2020-11-13 14:35:16 · 314 阅读 · 0 评论 -
HDU 4612 边双连通分量缩点 + 树的直径
Problem Description N planets are connected by M bidirectional channels that allow instant transportation. It’s always possible to travel between any two planets through these channels. If we can ...原创 2019-08-06 01:07:42 · 221 阅读 · 0 评论 -
BZOJ 2243 [SDOI2011] 染色(树剖 + 线段树)
Description给定一棵有nnn个节点的无根树和mmm个操作,操作有2类:1、将节点aaa到节点bbb路径上所有点都染成颜色ccc;2、询问节点aaa到节点bbb路径上的颜色段数量(连续相同颜色被认为是同一段),如“112221112221112221”由3段组成:“111111”、“222222222”和“111”。请你写一个程序依次完成这mmm个操作。Input第一行包含2个整数nnn和mmm,分别表示节点数和操作数;第二行包含nnn个正整数表示nnn个节点的初始颜色下面 行每行原创 2020-07-09 16:05:45 · 144 阅读 · 0 评论 -
2019 南昌网络赛 J. Distance on the tree (树链剖分 + 离线 + 线段树)
DescriptionDSM(Data Structure Master) once learned about tree when he was preparing for NOIP(National Olympiad in Informatics in Provinces) in Senior High School. So when in Data Structure Class in College, he is always absent-minded about what the teache原创 2020-07-09 11:38:20 · 163 阅读 · 0 评论 -
BZOJ 3083 遥远的国度 (树链剖分 + 换根讨论)
Descriptionzcwwzdjn 在追杀 zhx ,而 zhx 逃入了一个遥远的国度。当 zcwwzdjn 准备进入遥远的国度继续追杀时,守护神 RapiD 阻拦了 zcwwzdjn 的去路,他需要 zcwwzdjn 完成任务后才能进入遥远的国度继续追杀。问题是这样的:遥远的国度有 nnn 个城市,这些城市之间由一些路连接且这些城市构成了一颗树。这个国度有一个首都,我们可以把这个首都看做整棵树的根,但遥远的国度比较奇怪,首都是随时有可能变为另外一个城市的。遥远的国度的每个城市有一个防御值,第 ii原创 2020-07-10 17:01:15 · 248 阅读 · 1 评论 -
LeetCode 685. 冗余连接 II (并查集 + 树上乱搞)
题目链接Solution输入的边有N条,其中有一条为“附加边”,但我们不知道是哪条边。但这条边的存在会使得原本的有根树出现严格一个环(不考虑方向)。我们一边加边,一边将两端点用并查集合并,当两端点在合并前就属于同一个并查集时,说明加上这条边后就会出现环于是就找到了原图中唯一的环,我们用dfs将环上的点标记最后倒序枚举输入的边,若当前边在环上,且删去后图中入度为0的点有且只有一个,那么就找到了答案Codeclass Solution {public: int N, fa[1000原创 2020-09-17 21:16:10 · 127 阅读 · 0 评论 -
Codeforces 456E. Civilization (树的直径 + 并查集)
DescriptionAndrew plays a game called “Civilization”. Dima helps him.The game has n cities and m bidirectional roads. The cities are numbered from 1 to n. Between any pair of cities there either is a single (unique) path, or there is no path at all. A pa原创 2020-07-24 20:10:55 · 209 阅读 · 0 评论 -
Codeforces 519E. A and B and Lecture Rooms (树上乱搞)
DescriptionA and B are preparing themselves for programming contests.The University where A and B study is a set of rooms connected by corridors. Overall, the University has n rooms connected by n - 1 corridors so that you can get from any room to any ot原创 2020-07-22 20:01:17 · 273 阅读 · 0 评论 -
Codeforces Round #629 (Div. 3) E.Tree Queries
Source题目大意:给定一颗根为 111 号点的树。有 mmm 次询问,第 iii 次询问给定 KiK_iKi 个不同的节点,问你是否能找到一条从根到任意节点 xxx 的树上路径,满足之前给定的 KiK_iKi 个不同的节点要么在路径上,要么离路径的距离为 111,每次询问输出 YESYESYES or NONONO。解法:先预处理出LCA的相关数组(包括每个点的深度depth[]d...原创 2020-03-29 18:13:20 · 549 阅读 · 0 评论 -
BZOJ1040 骑士(基环树DP)
Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英。他们劫富济贫,惩恶扬善,受到社会各界的赞扬。最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争。战火绵延五百里,在和平环境中安逸了数百年的Z国又怎能抵挡的住Y国的军队。于是人们把所有的希望都寄托在了骑士团的身上,就像期待有一个真龙天子的降生,带领正义打败邪恶。骑士团是肯定具有打败邪恶势力的能力的,但是骑士们互相之间往往有一些矛盾。每个骑士都有且仅有一个自己最厌恶的骑士(当然不是他自己),他是绝对不原创 2020-06-10 21:53:48 · 393 阅读 · 0 评论 -
Codeforces 1294 F.Three Paths on a Tree (树的直径)
题目链接题意:给一颗树,让你找到三个不同的点,使得三个点之间的简单路径所覆盖的边集数量最大输出最大覆盖到的边以及三个点的编号解法:容易看出树的直径中的两端点(a,b)(a,b)(a,b)必然是三个点其二,重点在于第三个点的选取。假如现在选到的点为点ccc ,则三个点覆盖到的边的数量 =[dis(a,b)+dis(a,c)+dis(b,c)]/2= [dis(a,b) + dis(a,c) + dis(b,c)] / 2=[dis(a,b)+dis(a,c)+dis(b,c)]/2(点c 到原创 2020-06-10 18:45:40 · 250 阅读 · 0 评论