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 · 1748 阅读 · 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 · 2104 阅读 · 0 评论 -
poj 4047 Garden 2012金华邀请赛 线段树
/* 三种操作 0 x y 把x位置的值改成y 1 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 · 3426 阅读 · 0 评论 -
poj 3728 tarjan+带权路径并查集
#include #include #include using 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 · 2599 阅读 · 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 #include using namespace std; con原创 2012-03-26 14:40:36 · 2278 阅读 · 0 评论 -
集训队例赛——20110925 解题报告
//注释不是很多,读懂代码需要耐心。。。。。。读不懂可以在下面留言,我尽量回复。 //希望大家都写赛后总结——写在自己人人或者空间博客内,没写出1002和1004的应该反思一下最近的状态了。。。 /* 1001 开始用dfs递归,爆栈了 后来模拟又因为 出迷宫的条件一直wa,细原创 2011-09-25 22:30:16 · 1267 阅读 · 0 评论 -
HDU 2121 Ice_cream’s world II 无固定点的最小树形图 朱刘算法
/* 本题为不是固定根的最小树形图,我们可以虚拟出一根来,然后在把这个根跟每个点相连,相连的点可以设为无穷大,或者设为所有边和大一点,比如为r,然后就可以利用最小树形图进行计算了,计算出的结果减去r,如果比r还大就可以认为通过这个虚拟节点我们连过原图中两个点,即原图是不连通的,我原创 2011-09-04 19:02:19 · 3577 阅读 · 1 评论 -
最小树形图模版——朱刘算法
/* 最小树形图图模版-朱刘算法 模版说明:点标号必须0-(N-1) 必须去除到自身的点(到自身的边的边权赋无限大) */ #define M 109 #define type int const type inf=(1)<<30; struct Node{ int u原创 2011-09-04 17:02:54 · 5287 阅读 · 1 评论 -
HDU 4009 Transfer water 最小树形图 朱刘算法
/* 很裸的朱刘算法,后悔昨天比赛前没看过朱刘算法,掩面大哭~~ 抽象一个超级起点,连改点到每个点的单向边,边权为点自身的建井的代价 如果可以从i连水管到v,建一条i到v的单项边,边权为修水管的代价 然后就是用朱刘算法求最小树形图了。朱刘算法详见:http://blog.csdn原创 2011-09-04 17:46:08 · 3042 阅读 · 0 评论 -
poj 3164 && tju 2248 最小树形图 朱刘算法
个人觉得这个博客把这个算法说的比较详细了,直接搬过来吧,我再阐述一遍的话没有人家说的好,还容易说错。 ========================== 分割线之下摘自Sasuke_SCUT的blog======================================原创 2011-09-04 16:55:44 · 7683 阅读 · 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 · 3661 阅读 · 1 评论 -
zoj 3602 Count the Trees 树的同构
/* 二叉树的同构 把每棵子树映射为一个整数 如节点n的左右孩子为L,R,那么取子树L对应的整数Ln 子树R对应的整数Rn,把pair(Ln,Rn)对应为一个整数就是 当前子树的映射 */ #include #include #include #include #include #include #include using namespace std; const int maxn=10000原创 2012-08-06 00:54:35 · 3219 阅读 · 0 评论