考虑不联通的情况。图不好做,就造一棵生成树出来,由于是无向图,所以只有树边和返祖边。

发现在一条树边断开后,生成树会分成两个连通块,由覆盖这条树边的返祖边链接,只有这些返祖边也全部断开,原图才会不联通。

想到异或的优良性质。我们给所有返祖边在 \([0,2^{63})\) 中随机一个值作为这条边的权值,那么当树边的权值等于所有覆盖它的非树边的异或和时,问题等价于问给出的这些边中有没有异或和为 \(0\) 的边集。而这个问题显然可以使用线性基求解。

而给树边赋值的部分,可以使用树上查分 \(O(n)\) 求解。

时间复杂度 \(O(n+m+qk\log V)\)。由于代码中用到了 \(rand\),所以不一定每次都能过(我就遇到了,\(qwq\))。

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=5e5+5,M=65;
int n,m,q,k,rk[N],ps[M];
int xr[N],vis[N],ans,idx;
struct edge{int to,id;};
vector<edge>g[N],ve[N];
int add(int x){
for(int i=62;~i;i--){
if((x&(1ll<<i))==0) continue;
if(ps[i]) x^=ps[i];
else return ps[i]=x,0;
}return 1;
}void dfs1(int x,int ed){
for(auto nx:g[x]){
int y=nx.to,id=nx.id;
if(id==ed) continue;
if(vis[y]){
if(vis[y]>vis[x]) continue;
rk[id]=rand(),xr[x]^=rk[id];
xr[y]^=rk[id];continue;
}vis[y]=++idx,dfs1(y,id);
ve[x].push_back({y,id});
}
}void dfs2(int x){
for(auto nx:ve[x]){
int y=nx.to,id=nx.id;
dfs2(y),xr[x]^=xr[y];
rk[id]^=xr[y];
}
}void get_ans(){
int fl=1;
for(int i=1;i<=k;i++){
int x;cin>>x,x^=ans;
if(add(rk[x])) fl=0;
}ans+=fl;
if(fl) cout<<"Connected\n";
else cout<<"Disconnected\n";
}signed main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
srand(time(0));
cin>>n>>m,vis[1]=++idx;
for(int i=1;i<=m;i++){
int x,y;cin>>x>>y;
g[x].push_back({y,i});
g[y].push_back({x,i});
}dfs1(1,0),dfs2(1),cin>>q;
while(q--){
memset(ps,0,sizeof(ps));
cin>>k,get_ans();
}return 0;
}

[BZOJ3569] DZY Loves Chinese II 题解的更多相关文章

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

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

  2. 题解-bzoj3569 DZY Loves Chinese II

    Problem bzoj 题意概要:给定\(n\)点\(m\)边无向连通图,\(Q\)次询问删除\(k\)条边后是否仍然连通,强制在线 Solution 半年前考到过这类题目(询问删除任意两条边使得图 ...

  3. BZOJ3569 DZY Loves Chinese II(随机化+树上差分+线性基)

    上一题的强制在线版.对图跑出一个dfs树,给非树边赋上随机权值,树边的权值为覆盖他的非树边权值的异或.这样如果某条树边和覆盖他的非树边都被割掉(即图不连通),他们的异或值就为0.每次对询问看有没有子集 ...

  4. BZOJ3569:DZY Loves Chinese II(线性基)

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

  5. bzoj3569 DZY Loves Chinese II & bzoj3237 [AHOI2013] 连通图

    给一个无向连通图,多次询问,每次询问给 k 条边,问删除这 k 条边后图的连通性,对于 bzoj3237 可以离线,对于 bzoj3569 强制在线 $n,m,q \leq 500000,k \leq ...

  6. BZOJ3569: DZY Loves Chinese II(线性基构造)

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

  7. BZOJ3569 : DZY Loves Chinese II

    这回是真·强制在线了,首先这道题就是AHOI2013连通图的加强版,那道题k最大只有4 那道题的做法是: 取一个生成树,对每条非树边取一个随机权值, 对每条树边设为“覆盖它的所有非树边”的权值的xor ...

  8. 【BZOJ3569】DZY Loves Chinese II

    [BZOJ3569]DZY Loves Chinese II 题面 bzoj 题目大意: 给你一张\(N(1\leq N\leq 10^5)\)个点\(M(1\leq M\leq 5\times 10 ...

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

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

  10. 【bzoj3569】 DZY Loves Chinese II

    http://www.lydsy.com/JudgeOnline/problem.php?id=3569 (题目链接) 题意 给出一个无向图,$Q$组询问,每次询问将原图断掉$C$条边后是否还连通.在 ...

随机推荐

  1. Win10虚拟机安装Docker解决Docker Engine Stopped问题记录

    跟着网上的帖子开启WSL2安装DockerDesktop, 但是无法启动Docker,一直[Docker Engine stopped] 继续跟着网上的帖子解决问题,检查电脑各种配置都搞一通后还是无法 ...

  2. 鸿蒙UI开发快速入门 —— part04: 组件的UI逻辑复用

    1.为什么要复用? 从鸿蒙UI开发快速入门 -- part02: 组件开发文章中我们学习到,build()函数是我们构建用户UI界面的入口函数,在该函数中完成UI样式定义以及事件定义. 实际的项目开发 ...

  3. Python 和 Podman

    1. Windows 10 上安装 Python 开始在 Windows 上使用 Python(初学者) 2. 使用 pip Python 的 Microsoft Store 安装包括 pip(标准包 ...

  4. GraphQL Part III: 依赖注入

    在 SOLID 设计原则中,D 表示依赖反转原则 高层组件不应该依赖于底层组件,双方应该基于抽象 抽象不应该依赖于实现,实现应该依赖于抽象 使用 new 操作符来创建对象实例会导致不同组件之间的紧耦合 ...

  5. 序列化与反序列化的概念、基于django原生编写5个接口、drf介绍和快速使用、cbv源码分析

    目录 一.序列化反序列化 二.基于django原生编写5个接口 三.drf介绍和快速使用 概念 安装 代码 四.cbv源码分析 一.序列化反序列化 api接口开发,最核心最常见的一个过程就是序列化,所 ...

  6. 在centos上部署docker与wordpress

    简介 有一个wordpress服务器需要迁移了,之前都是别人维护的,现在需要迁移到自己维护,给的系统是linux centos 8.4.迁移包括mysql,php,phpmyadmin,wordpre ...

  7. Qt开源作品11-屏幕录制控件

    一.前言 在平时的写作过程中,经常需要将一些操作动作和效果图截图成gif格式,使得涵盖的信息更全面更生动,有时候可以将整个操作过程和运行效果录制成MP4,但是文件体积比较大,而且很多网站不便于上传,基 ...

  8. 利用idea开发环境进行Spring Boot开发时maven同步更新jar依赖包时提示:sync:Cannot resolve xxx 的解决方案

    idea maven sync Cannot resolve xxx 的解决方案 经常会出现这种奇葩情况,提示找不到包 其实是因为网络波动或者突然断掉,导致包更新出现问题 直接去maven的仓库目录 ...

  9. IM跨平台技术学习(九):全面解密新QQ桌面版的Electron内存优化实践

    本文由QQ技术团队分享,本文收录时有内容修订和大量排版优化. 1.引言 QQ 作为国民级应用,从互联网兴起就一直陪伴着大家,是很多用户刚接触互联网就开始使用的应用. 而 QQ 桌面版最近一次技术架构升 ...

  10. 配置Ubuntu上的NFS

    $sudo apt-get install nfs-kernel-server nfs-common 配置 $sudo vim /etc/exports#添加#/home/pi/project/roo ...