|----最小生成树
yhf_2015
无。。。
展开
-
【bzoj 1015】[JSOI2008]星球大战starwar
注意:开始的信息可以用邻接链表存虚边,在使用vis数组的时候,要注意要用的值是真是假。 #include using namespace std; const int maxn = 400010; struct node{ int x, y; }; bool cmp(node a, node b){ if(a.x == b.x) return a.y < b.y;原创 2016-08-26 22:54:46 · 400 阅读 · 0 评论 -
【bzoj 3732】Network
注意:此题为货车运输的变式,要先更新最值,在更新节点,不然用更新以后的节点再更新最值就不对了。 先求最小生成树,再倍增求lca。 #include using namespace std; const int maxn = 30010; const int Maxn = 15010; struct edge{ int from, to, dis; }; int _first[Ma原创 2016-08-26 23:09:37 · 417 阅读 · 0 评论 -
【洛谷 1196】银河英雄传说
简化题意: 有 30000 个元素,初始时每个元素以单独的队列形式存在,支持一下两种操作: 1.动态合并两条队列,将 x 元素所在队列首合并在 y 元素所在队列尾; 2.查询 x 与 y 是否在同一条队列中,若是,查询 x 与 y 间隔元素数量。 共 500,000 次操作。题解: 在父亲节点维护的时候记录每个并查集端点的元素大小,顺便维护一下就好了。#include <bits/stdc原创 2016-10-12 20:02:49 · 546 阅读 · 0 评论