ACM.树
slowlight93
这个作者很懒,什么都没留下…
展开
-
zoj-1097-code the tree
参考题解:http://www.cnblogs.com/pcoda/archive/2012/09/02/2667930.htmlCode这是一道解关于 无根树 的问题, 算法是将 叶节点 送入 优先队列, 然后从小到大遍历 叶节点, 可以用STL很方便地解决。 //program: code the tree// author: slowlight93// date: 2原创 2013-08-08 16:35:41 · 841 阅读 · 0 评论 -
POJ-2388-Who's in the Middle
数据比较小,用快排或堆结构都行。mysol:STL 堆 reference:http://www.cplusplus.com/reference/algorithm/make_heap/?kw=make_heap#include #include #include #include #include #include #include #include原创 2014-01-08 17:51:01 · 827 阅读 · 0 评论 -
hdu 2545 树上战争(加权并查集)
题意:给出一颗树,每次询问树上两个节点到根的距离谁跟近原创 2014-11-13 17:10:03 · 728 阅读 · 0 评论 -
hihocoder 1067 最近公共祖先·二(tarjan LCA 离线算法O(n))
题意:LCA入门题目 = =#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define rep(i, s, t) for(int (i)原创 2014-12-17 13:05:12 · 792 阅读 · 0 评论 -
codeforces 519E A and B and Lecture Rooms
题意: 给一颗无根树。然后m个询问(A,B),求到A,B距离相等的节点个数。 思路: 分情况讨论。。 其中当A,B之间存在长度为偶数的路径时,讨论A,B深度是否相等。 难点是怎样在A,B深度不等的时候求路径上的中点。 如果会LCA的DP算法,也叫Binary Raise(我认为比叫二分搜索恰当,因为算法中根本就没有搜索 = =!),那么我们就可以求得x的第k个祖先(第0个是x的父亲)。问原创 2015-03-02 01:47:57 · 835 阅读 · 0 评论 -
poj 1635 Subway tree systems(树的同构,经典)
题意: 一个有根树。给一种用01序列来表示该树的方式,0表示前进(沿没有访问过的边),1表示沿树边回退。 一个树当然会有多种表示, 问题是给出两个序列,问是否表示同一颗树。 思路: 感觉判断树的同构是个很广的问题。 不过就此题而言,可以对一颗树的所有表示序列,都可以用递归的方式把它们变成一个。(先划分子树,按字典序重排) 也有用dp做的,还有哈希的。。是很值得研究的一题 这道题引起我对原创 2015-04-12 01:04:28 · 609 阅读 · 0 评论 -
codeforces 570D Tree Requests (树转dfs序,区间统计)
题意: 。。。 思路: 比赛的时候,想到dfs序,不过对层想不到好的处理方法。。 结束发现其实很简单。。分层统计不就行了吗。。 所以可以对每个询问,二分在层内的位置,也可以存前缀和,离线处理询问,甚至可以每一层都建一个BIT。。。 下面是离线处理的代码 注意题目的特殊条件,可以用异或来代替加减const int N = 500005;typedef pair<int, int> pi原创 2015-08-15 00:39:55 · 588 阅读 · 0 评论