摘要:
证明 求树的直径的方法: 选择树上任意一点,从该点dfs,求其它所有点到x的距离distx[] 从distx[]中选择一个最大的距离所对应的点y,从y开始再次dfs求一个disty[] disty[]中的最大值就是树的直径 求树的直径的bfs/dfs方法的正确性证明: 问题就在第一点:距离x最远的y 阅读全文
posted @ 2020-10-01 20:46
yys_c
阅读(157)
评论(0)
推荐(0)
摘要:
弱弱的用bfs过了,双指针再说吧。。。 #include<iostream> #include<queue> using namespace std; #define LL long long typedef struct{ int v, u, idx; }Node; const int N = 1 阅读全文
posted @ 2020-10-01 17:16
yys_c
阅读(203)
评论(0)
推荐(0)
摘要:
方法BFS,flood fill,别被开头一张图给唬住了,对于每一个方格按位判断能不能走四个方向就行了 #include<iostream> #include<queue> using namespace std; #define PII pair<int ,int> #define x first 阅读全文
posted @ 2020-10-01 15:56
yys_c
阅读(88)
评论(0)
推荐(0)
摘要:
开始觉得是个什么两次遍历法,后来发现是RMQ问题,可以选择线段树,树状数组,ST表三种 再看数据范围:\(N <= 10^5\) 线段树/树状数组:\(O(nlogn)\) ST表:\(O(n)\) #include<iostream> #include<cmath> #include<vector 阅读全文
posted @ 2020-10-01 10:13
yys_c
阅读(93)
评论(0)
推荐(0)

浙公网安备 33010602011771号