线性基

非常高端

强制在线动态图

我们先搞出一个dfs树,然后所有非树边都和树边形成一个环。我们考虑什么情况会不连通,当且仅当树边和dfs序大于当前点的返祖边都被断掉才不连通,那么我们给每个非树边赋一个权值,树边的权值就是所有这些返祖边的权值的异或和,这样一遍dfs就行了。

然后就是怎么判断,因为树边的权值等于有关非树边的异或和,那么就是当前给的边集有一个自己异或和等于0,这个可以用线性基来判断。

然后,我又在读入的时候break了,noipday1t2就因为这个调了半个小时。。。。。。

#include<bits/stdc++.h>
using namespace std;
const int N = 5e5 + ;
inline int rd()
{
int x = , f = ; char c = getchar();
while(c < '' || c > '') { if(c == '-') f = -; c = getchar(); }
while(c >= '' && c <= '') { x = x * + c - ''; c = getchar(); }
return x * f;
}
struct edge {
int nxt, to, w, id;
} e[N << ];
int n, m, cnt = , Q, ans;
int head[N], c[N], w[N], vis[N], d[N], v[];
void link(int u, int v, int id)
{
e[++cnt].nxt = head[u];
head[u] = cnt;
e[cnt].to = v;
e[cnt].id = id;
}
void dfs(int u, int last)
{
vis[u] = ;
for(int i = head[u]; i; i = e[i].nxt) if(e[i].to != last)
{
if(vis[e[i].to])
{
if(!w[e[i].id])
{
int t = rand();
w[e[i].id] = t;
d[u] ^= t;
d[e[i].to] ^= t;
}
}
else
{
dfs(e[i].to, u);
w[e[i].id] = d[e[i].to];
d[u] ^= d[e[i].to];
}
}
}
bool check(int x)
{
for(int i = ; i >= ; --i) if(x & ( << i))
{
if(!v[i])
{
v[i] = x;
return ;
}
else x ^= v[i];
}
return x;
}
int main()
{
srand();
n = rd();
m = rd();
for(int i = ; i <= m; ++i)
{
int u = rd(), v = rd();
link(u, v, i);
link(v, u, i);
}
dfs(, );
Q = rd();
while(Q--)
{
int k = rd(), f = ;
memset(v, , sizeof(v));
for(int i = ; i <= k; ++i)
{
c[i] = w[rd() ^ ans];
if(!check(c[i])) f = ;
}
puts(f ? "Connected" : "Disconnected");
ans += f;
}
return ;
}

最新文章

  1. Python学习路程CMDB
  2. 【英语】Bingo口语笔记(75) - 元音辅音的辨读
  3. block_dump观察Linux IO写入的具体文件(mysqld)
  4. sybase SA密码重置
  5. Windows宿主机访问Ubuntu中mysql数据库笔记
  6. OpenGL —— 基础笔记
  7. Longest Palindromic Substring -LeetCode
  8. Unite&#39;17 Shanghai再一次问候
  9. Python之file
  10. 伙伴系统之避免碎片--Linux内存管理(十六)
  11. js 一个对象的属性名是一个变量怎么处理?
  12. 你真的了解META-INF吗?
  13. VM for Linux 版本的Bundle格式文件的安装
  14. 软Raid50制作
  15. Feature Selection Can Reduce Overfitting And RF Show Feature Importance
  16. luogu P1641 [SCOI2010]生成字符串
  17. 《DSP using MATLAB》Problem 5.3
  18. c++四舍五入的新方法
  19. CMFCPropertyGridProperty用法
  20. BZOJ3514: Codechef MARCH14 GERALD07加强版【LCT】【主席树】【思维】

热门文章

  1. Objective-C中单例
  2. 利用反射和泛型把Model对象按行储存进数据库以及按行取出然后转换成Model 类实例 MVC网站通用配置项管理
  3. hdu 5316 Magician 线段树
  4. 【Sprint3冲刺之前】TDzhushou软件项目测试计划书
  5. Oracle 【to_number】【instr】
  6. 算法排序-NB三人组
  7. 不使用flash实现复制文字(图片)到剪贴板
  8. (转)MongoDB在mongo控制台下的基本使用命令
  9. php 静态成员(static)抽象类(abstract)和接口(interface)
  10. CSDN第一期总结之三:Thread的问题(转)