【BZOJ3563/BZOJ3569】DZY Loves Chinese I/II(随机化,线性基)

题面

搞笑版本

正经版本

题面请自行观赏

注意细节。

题解

搞笑版本真的是用来搞笑的

所以我们来讲正经代码

首先随便找一棵生成树出来

于是,我们就得到了一棵树+若干边的东西

如果删掉了若干边使得图不再联通,

证明这条边,以及覆盖了这条边的那些边都被断开了。

于是,我们给所有不再生成树上的边全部随机一个权值

然后树上的边的权值为覆盖了它的所有边的权值异或和

考虑如何查询,如果这一系列边都被断开,导致图不连通

那么,证明可以从断开的边中选出一个非空子集,

使得他们的异或和为\(0\)

线性基实现即可

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<set>
#include<map>
#include<vector>
#include<queue>
using namespace std;
#define ll long long
#define RG register
#define MAX 111111
#define MAXL 555555
inline int read()
{
RG int x=0,t=1;RG char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')t=-1,ch=getchar();
while(ch<='9'&&ch>='0')x=x*10+ch-48,ch=getchar();
return x*t;
}
struct Line{int v,next,i;}e[MAX<<1];
int h[MAX],cnt=1;
inline void Add(int u,int v,int i){e[cnt]=(Line){v,h[u],i};h[u]=cnt++;}
int f[MAX],V[MAXL],val[MAX];;
int getf(int x){return x==f[x]?x:f[x]=getf(f[x]);}
void dfs(int u,int ff)
{
for(int i=h[u];i;i=e[i].next)
if(e[i].v!=ff)
dfs(e[i].v,u),V[e[i].i]^=val[e[i].v],val[u]^=val[e[i].v];
}
struct xxj
{
int p[31];
void insert(int x)
{
for(int i=30;~i;--i)
if(x&(1<<i))
{
if(!p[i]){p[i]=x;break;}
x^=p[i];
}
}
bool Query(int x)
{
for(int i=30;~i;--i)
if(x&(1<<i))x^=p[i];
return x;
}
void init(){memset(p,0,sizeof(p));}
}G;
int n,m;
int main()
{
srand(5550555);
n=read();m=read();
for(int i=1;i<=n;++i)f[i]=i;
for(int i=1;i<=m;++i)
{
int u=read(),v=read();
if(getf(u)!=getf(v))
Add(u,v,i),Add(v,u,i),f[getf(u)]=getf(v);
else V[i]=rand()%(1<<30)+1,val[u]^=V[i],val[v]^=V[i];
}
dfs(1,0);
int ans=0,Q=read();
while(Q--)
{
int K=read();G.init();
bool fl=true;
while(K--)
{
int x=read()^ans;
if(G.Query(V[x]))G.insert(V[x]);
else fl=false;
}
fl?puts("Connected"):puts("Disconnected");
ans+=fl;
}
return 0;
}

【BZOJ3563/BZOJ3569】DZY Loves Chinese I/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(随机化+树上差分+线性基)

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

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

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

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

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

  5. 【BZOJ 3569】DZY Loves Chinese II 随机化+线性基

    用到一个结论——[先建树,再给每个非树边一个权值,每个树边的权值为覆盖他的非树边的权值的异或和,然后如果给出的边存在一个非空子集异或和为0则不连通,否则连通](必须保证每条边的出现和消失只能由自己产生 ...

  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

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

  9. [BZOJ3563&3569]DZY Loves Chinese

    bzoj 加强版 sol 其实前一题还有一种解法的,具体方法请见bzoj讨论版. 以下是正解(?) 建一棵生成树. 考虑什么时候图会不连通:当且仅当存在一条树边被删除,同时所有覆盖了他的非树边也被删除 ...

随机推荐

  1. 探寻ASP.NET MVC鲜为人知的奥秘(3):寻找多语言的最佳实践方式

    如果你的网站需要被世界各地的人访问,访问者会使用各种不同的语言和文字书写习惯,那么创建一个支持多语言的网站就是十分必要的了,这一篇文章就讲述怎么快速合理的创建网站对多语言的支持.接下来通过一个实例来讲 ...

  2. nuget必备插件(待续)

    DevLib.ExtensionMethods Extend Z.ExtensionMethods

  3. rocketmq Lock failed,MQ already started -c参数

    今天部署rocketmq集群时一台机器部署一个master 和slave,slave部署总是失败,通过查看日志显示下面的错误 java.lang.RuntimeException: Lock fail ...

  4. 优化 VR 动作类游戏《Space Pirate Trainer*》以便在英特尔® 集成显卡上实现卓越的表现

    Space Pirate Trainer* 是一款面向 HTC Vive*.Oculus Touch* 和 Windows Mixed Reality* 的原创发行游戏.版本 1.0 于 2017 年 ...

  5. 苹果任命奢侈品牌博柏利CEO为零售与在线商店高级副总裁

    苹果今天宣布任命英国奢侈品牌博柏利(Burberry)CEO安吉拉•阿伦茨(Angela Ahrendts)为零售与在线商店高级副总裁.这是一个新设的职位,未来她将直接向CEO蒂姆•库克(Tim Co ...

  6. tcp三次握手 四次挥手 (转)

    转自: http://blog.csdn.net/whuslei/article/details/6667471 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看 ...

  7. Scrum立会报告+燃尽图(十月十五日总第六次):视频上传及选题介绍工作

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2196 Scrum立会master:田良 一.小组介绍 组长:付佳 组员: ...

  8. Beta冲刺贡献分数分配结果

    小组名称:Hello World! 项目名称:空天猎 组长:陈建宇 成员:刘成志.刘耀泽.刘淑霞.黄泽宇.方铭.贾男男 第三周贡献分分配结果 基础分 会议分 个人贡献分 最终分数 黄泽宇 9 0.5 ...

  9. Spring管理过滤器:org.springframework.web.filter.DelegatingFilterProxy

    配置web.xml <filter>        <filter-name>springSecurityFilterChain</filter-name>     ...

  10. 一次WebSphere性能问题诊断过程

    一次接到用户电话,说某个应用在并发量稍大的情况下就会出现响应时间陡然增大,同时管理控制台的响应时间也很慢,几乎无法进行正常工作. 赶到现场后,查看平台版本为Webshpere6.0.2.29,操作系统 ...