
生成树
stargazer.
夜を穿つの
展开
-
【洛谷 P3249】【HNOI2016】矿区(最小左转法 / 生成树)
传送门最小左转法:用来将平面图转成对偶图先将线段拆成两个有向线段考虑对于每个有向线段(u→v)(u\rightarrow v)(u→v)在vvv连出的有向线段中按极角找(v→u)(v\rightarrow u)(v→u)的下一个这样一定恰好形成一个平面另外将整个图形外面的也看做一个点查找可以用vectorvectorvector按极角排序每次二分复杂度O(nlogn)O(nlog...原创 2020-04-01 18:50:29 · 434 阅读 · 0 评论 -
【HDU 4408】Minimum Spanning Tree(矩阵树定理 / 最小生成树)
传送门考虑KruscalKruscalKruscal的过程按权值从小到大对每个权值的每个连通块做一次矩阵树注意判不连通,n=1且m=0,mod=1不连通,n=1且m=0,mod=1不连通,n=1且m=0,mod=1的情况#include<bits/stdc++.h>using namespace std;#define cs const#define re regist...原创 2020-02-27 19:43:42 · 263 阅读 · 0 评论 -
【LOJ #2865】「IOI2018」狼人(Kruscal重构树+扫描线)
传送门一道披着交互题外衣的传统题题意就是在问从SSS出发,走编号[L,n][L,n][L,n]内能达的点和EEE出发,走编号[1,R][1,R][1,R]能达的点是否有交显然可以把两点最大/小值作为边权建两颗KruscalKruscalKruscal重构树倍增后就是在问两个子树是否有相同的叶子转到dfsdfsdfs序上就是对于2个排列[L1,R1],[L2,R2][L_1,R_1...原创 2019-12-18 21:40:35 · 235 阅读 · 0 评论 -
【BZOJ5297】【CQOI2018】社交网络(有向图生成树计数)
传送门板子题+1套一个有向图矩阵树就完事了#include<bits/stdc++.h>using namespace std;#define ll long longinline int read(){ char ch=getchar(); int res=0,f=1; while(!isdigit(ch)){if(ch=='-')f=-f;ch=getchar()...原创 2019-02-22 12:11:14 · 244 阅读 · 0 评论