bzoj

加强版

sol

其实前一题还有一种解法的,具体方法请见bzoj讨论版。

以下是正解(?)

建一棵生成树。

考虑什么时候图会不连通:当且仅当存在一条树边被删除,同时所有覆盖了他的非树边也被删除。

所以考虑给每条非树边随机一个权值,然后把每条树边的权值设为所以覆盖了这条边的非树边的边权异或和。

这样一来在要删除的边集中,若存在一个异或和为零的子集则说明图会不连通。

线性基维护一下。复杂度\(O(n+Qk*30)\)

code

我WA了半天结果是随机种子出锅了。。。

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<ctime>
using namespace std;
int gi()
{
int x=0,w=1;char ch=getchar();
while ((ch<'0'||ch>'9')&&ch!='-') ch=getchar();
if (ch=='-') w=0,ch=getchar();
while (ch>='0'&&ch<='9') x=(x<<3)+(x<<1)+ch-'0',ch=getchar();
return w?x:-x;
}
const int N = 1e6+5;
int n,m,q,to[N],nxt[N],id[N],head[N],cnt,fa[N],val[N],tag[N],ans;
int find(int x){return x==fa[x]?x:fa[x]=find(fa[x]);}
void link(int u,int v,int w)
{
to[++cnt]=v;nxt[cnt]=head[u];id[cnt]=w;
head[u]=cnt;
}
void dfs(int u,int f)
{
for (int e=head[u];e;e=nxt[e])
if (to[e]!=f)
{
dfs(to[e],u);
val[id[e]]^=tag[to[e]];
tag[u]^=tag[to[e]];
}
}
struct xxj{
int p[32];
void init(){memset(p,0,sizeof(p));}
void insert(int x)
{
for (int j=30;~j;--j)
{
if (!(x>>j)) continue;
if (!p[j]) {p[j]=x;return;}
x^=p[j];
}
}
int query(int x)
{
for (int j=30;~j;--j)
x=min(x,x^p[j]);
return x;
}
}S;
int main()
{
srand(2002415);
n=gi();m=gi();
for (int i=1;i<=n;++i) fa[i]=i;
for (int i=1;i<=m;++i)
{
int u=gi(),v=gi();
if (find(u)^find(v))
link(u,v,i),link(v,u,i),fa[find(u)]=find(v);
else val[i]=1+rand()%(1<<30),tag[u]^=val[i],tag[v]^=val[i];
}
dfs(1,0);
q=gi();
while (q--)
{
int k=gi()^ans,fg=1;S.init();
for (int i=1;i<=k;++i)
{
int x=gi()^ans;
if (S.query(val[x])) S.insert(val[x]);
else fg=0;
}
puts(fg?"Connected":"Disconnected");ans+=fg;
}
return 0;
}

[BZOJ3563&3569]DZY Loves Chinese的更多相关文章

  1. BZOJ 3569 DZY Loves Chinese II

    Description 神校XJ之学霸兮,Dzy皇考曰JC. 摄提贞于孟陬兮,惟庚寅Dzy以降. 纷Dzy既有此内美兮,又重之以修能. 遂降临于OI界,欲以神力而凌♂辱众生. 今Dzy有一魞歄图,其上 ...

  2. BZOJ 3569 DZY Loves Chinese II 树上差分+线性基

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3569 Description 神校XJ之学霸兮,Dzy皇考曰JC. 摄提贞于孟陬兮,惟庚寅 ...

  3. BZOJ 3569: DZY Loves Chinese II [高斯消元XOR 神题]

    http://www.lydsy.com/JudgeOnline/problem.php?id=3569 题意:多次询问一个无向连通图当图中某k条边消失时这个图是否联通 强制在线 太神啦啦啦啦啦啦啦啦 ...

  4. BZOJ 3569 DZY Loves Chinese II ——线性基

    [题目分析] 腊鸡题目卡题面. 大概的意思就是给一张无向图,每次删掉其中一些边,问是否联通. 首先想到的是Bitset,可以做到n^2/64.显然过不了. 然而这是lyd在给我们讲线性基的时候的一道题 ...

  5. bzoj 3569 DZY Loves Chinese II 随机算法 树上倍增

    题意:给你一个n个点m条边的图,有若干组询问,每次询问会选择图中的一些边删除,删除之后问此图是否联通?询问之间相互独立.此题强制在线. 思路:首先对于这张图随便求一颗生成树,对于每一条非树边,随机一个 ...

  6. BZOJ 3569: DZY Loves Chinese II(线性基)

    传送门 解题思路 首先构造出一个生成树,考虑不连接的情况.假设连通两点的非树边和树边都断掉后不连通,那么可以给所有的非树边随机一个互不相同的值,然后树边的权值为过他两端点的非树边权值的异或和,这个可以 ...

  7. BZOJ 3563 DZY Loves Chinese

    Description 神校XJ之学霸兮,Dzy皇考曰JC. 摄提贞于孟陬兮,惟庚寅Dzy以降. 纷Dzy既有此内美兮,又重之以修能. 遂降临于OI界,欲以神力而凌♂辱众生. 今Dzy有一魞歄图,其上 ...

  8. [BZOJ3569]DZY Loves Chinese II(随机化+线性基)

    3569: DZY Loves Chinese II Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1515  Solved: 569[Submit][S ...

  9. 【BZOJ3563/3569】DZY Loves Chinese II 线性基神题

    [BZOJ3563/3569]DZY Loves Chinese II Description 神校XJ之学霸兮,Dzy皇考曰JC. 摄提贞于孟陬兮,惟庚寅Dzy以降. 纷Dzy既有此内美兮,又重之以 ...

随机推荐

  1. 应用监控Metrics

    应用监控Metrics 一.Metrics简介        应用监控系统Metrics由Metrics.NET+InfluxDB+Grafana组合而成,通过客户端Metrics.NET在业务代码中 ...

  2. 使用combineReducers注意事项

    一.从‘redux’包中引入combineReducers方法: import { combineReducers } from 'redux'; 二.针对state的不同属性写不同的reducer, ...

  3. jemter多种方式查看结果树及正则的使用

    最近才发现jemter结果是有一种正则表达式匹配的显示方式,以前直接在TEXT下显示和来匹配正则,真是费时间,使用方式如下: 默认使用TEXT方式显示: 显示方式有以下几种: RegExp Teste ...

  4. Intellij IDEA设置注释作者名字

    方法一:File >> Settings >> Editor >>Code Style >> File and Code Templates>&g ...

  5. springMVC文件上传大小超过限制的问题

    [转自]https://my.oschina.net/ironwill/blog/646762 springMVC是一个非常方便的web层框架,我们使用它的文件上传也非常的方便. 我们通过下面的配置来 ...

  6. 【[AHOI2005]航线规划】

    树剖维护边双 首先我们看到在整个过程中图是保证连通的,于是我们并不需要LCT来维护连通性 而这些询问询问的是两个点之间关键路径的数量,也就是无论怎么走都必须走的数量,显然这就是两点之间的割边的数量 由 ...

  7. Vue通过input筛选数据

    <div id="app"> <input v-model='search' /> <ul> <li v-for="item i ...

  8. iview中table里嵌套i-switch、input、select等

    iview中table内嵌套 input render:(h,params) => { return h('Input',{ props: { value:'', size:'small', } ...

  9. java连接数据库增删改查公共方法

    package dao; import java.io.IOException; import java.sql.CallableStatement; import java.sql.Connecti ...

  10. PAT——不吉利的日期(java中date和Calendar使用)

    题目描述 在国外,每月的 13 号和每周的星期 5 都是不吉利的.特别是当 13 号那天恰好是星期 5时,更不吉利. 现在给你一个年份,请你从小到大依次输出当年所有13 号是星期 5 的月份. 输入描 ...