ACM-图论—各种树、LCA、RMQ、
文章平均质量分 73
wsniyufang
这个作者很懒,什么都没留下…
展开
-
HDU 3830 Checkers 2011 Multi-University Training Contest 1 - Host by HNU
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3830知识点:LCA,二叉树,二分答案首先,我们把3个数排好序。设三个数从小到大是a, b, c设:s1=b-as2=c-b那么b可以跳动到a左边,或者c右边。如果s1如果s1>s2,原创 2011-07-14 13:22:17 · 1782 阅读 · 0 评论 -
uestc 1717 Journey
#include #include #include #include #include #include #include #include using namespace std;const int N=100009;int n,m;int a,b,c,x,y;int len[N];int get[N];int vis[N],fa[N];vector > v[N]原创 2012-07-14 18:45:00 · 2114 阅读 · 0 评论 -
poj 4047 Garden 2012金华邀请赛 线段树
/*三种操作0 x y 把x位置的值改成y1 x y 交换x与y位置的值2 x y 统计[x,y]中连续k个值的最大值我们把1-k的和值作为b[1],2-(k+1)的和值作为b[2],以此类推那么可以建立一棵[1,n-k+1]的线段树求连续k个和的最大值,退化为求某个区间的最值问题线段树中有延迟操作,优化时间效率*/#include #include #include #原创 2012-07-07 21:00:31 · 3441 阅读 · 0 评论 -
poj 3728 tarjan+带权路径并查集
#include#include#includeusing namespace std;const int N=55009;int n,q,a,b,fa[N],vis[N],ans[N],v[N],Max[N],Min[N],up[N],down[N];vector need[N],edge[N],kv[N];int find(int x){ if(x==fa[x])ret原创 2012-07-06 16:30:19 · 2608 阅读 · 0 评论 -
CodeForces Round #112 Div2 165 D. Beard Graph
/*题目给定一棵树,这棵树很特殊,只有根节点的度可能超过2有三种操作 1.把编号为x的边染成黑色2.把编号为x的边染成白色(此时这条边不可以走)3.询问x,y之间的距离(不能走到输出-1)*/#include#include#include#include#include#include#include#includeusing namespace std;con原创 2012-03-26 14:40:36 · 2295 阅读 · 0 评论 -
集训队例赛——20110925 解题报告
//注释不是很多,读懂代码需要耐心。。。。。。读不懂可以在下面留言,我尽量回复。//希望大家都写赛后总结——写在自己人人或者空间博客内,没写出1002和1004的应该反思一下最近的状态了。。。/*1001开始用dfs递归,爆栈了后来模拟又因为 出迷宫的条件一直wa,细原创 2011-09-25 22:30:16 · 1273 阅读 · 0 评论 -
HDU 2121 Ice_cream’s world II 无固定点的最小树形图 朱刘算法
/*本题为不是固定根的最小树形图,我们可以虚拟出一根来,然后在把这个根跟每个点相连,相连的点可以设为无穷大,或者设为所有边和大一点,比如为r,然后就可以利用最小树形图进行计算了,计算出的结果减去r,如果比r还大就可以认为通过这个虚拟节点我们连过原图中两个点,即原图是不连通的,我原创 2011-09-04 19:02:19 · 3591 阅读 · 1 评论 -
最小树形图模版——朱刘算法
/*最小树形图图模版-朱刘算法模版说明:点标号必须0-(N-1) 必须去除到自身的点(到自身的边的边权赋无限大)*/#define M 109#define type intconst type inf=(1)<<30;struct Node{ int u原创 2011-09-04 17:02:54 · 5298 阅读 · 1 评论 -
HDU 4009 Transfer water 最小树形图 朱刘算法
/*很裸的朱刘算法,后悔昨天比赛前没看过朱刘算法,掩面大哭~~抽象一个超级起点,连改点到每个点的单向边,边权为点自身的建井的代价如果可以从i连水管到v,建一条i到v的单项边,边权为修水管的代价然后就是用朱刘算法求最小树形图了。朱刘算法详见:http://blog.csdn原创 2011-09-04 17:46:08 · 3046 阅读 · 0 评论 -
poj 3164 && tju 2248 最小树形图 朱刘算法
个人觉得这个博客把这个算法说的比较详细了,直接搬过来吧,我再阐述一遍的话没有人家说的好,还容易说错。========================== 分割线之下摘自Sasuke_SCUT的blog======================================原创 2011-09-04 16:55:44 · 7736 阅读 · 2 评论 -
scu四川大学oj 3099 A Simple Problem with Integers
题目出处http://cs.scu.edu.cn/soj/problem.action?id=3099线段树题目中有一个操作是为某个区间的所有成员加上c;用 d表示此时整个区间所有元素的增量 #include using namespace std;#define ll long原创 2011-07-10 23:57:20 · 3684 阅读 · 1 评论 -
zoj 3602 Count the Trees 树的同构
/*二叉树的同构 把每棵子树映射为一个整数如节点n的左右孩子为L,R,那么取子树L对应的整数Ln子树R对应的整数Rn,把pair(Ln,Rn)对应为一个整数就是当前子树的映射*/#include#include#include#include#include#include#includeusing namespace std;const int maxn=10000原创 2012-08-06 00:54:35 · 3228 阅读 · 0 评论