链接......不知道为啥放不动啊。
第一次用手机写bzoj的题,也是第一次用手机写的题解,顺便实现了一下手机上的对拍。
可以用链表+并查集维护一下什么的。
环之间的边是不是不太好路径压缩?
我是直接环内路径压缩,环外不管。
这样应该是会被卡的(d==n???)
可是交上去还是过了。
#include#include #include #include #define MN 110001using namespace std;int read_ca,read_p;inline int read(){ read_ca=getchar();read_p=0; while (read_ca<'0'||read_ca>'9') read_ca=getchar(); while (read_ca>='0'&&read_ca<='9') read_p=read_p*10+read_ca-48,read_ca=getchar(); return read_p;}vector v[MN];int T,m,q,p,n,s,d,c[MN],pos[MN],ne[MN],fi[MN],fa[MN],mmh,be[MN];bool bo[MN];int gf(int x){ if (x==fa[x]) return x;else { int y=gf(fa[x]);if (be[x]==be[y]) fa[x]=y;return y;}}inline void del(int x){ if (ne[x]==x){ for (int i=0;i