这回是真·强制在线了,首先这道题就是AHOI2013连通图的加强版,那道题k最大只有4

那道题的做法是:

取一个生成树,对每条非树边取一个随机权值,

对每条树边设为“覆盖它的所有非树边”的权值的xor,

对于每次询问,只要某个子集的所有边xor值是0,那么就不连通,否则连通。

通过$O(2^k)$枚举每一个子集来判断,复杂度为$O(q2^k)$

这道题也是一样的方法,但是不能枚举了,

使用高斯消元求解,

如果不存在自由基,那么说明只有空集的异或值为0

复杂度:$O(32qk)$

#include<cstdio>
#include<algorithm>
#define N 100010
#define M 500010
using namespace std;
typedef long long ll;
ll ran,p1,p2,p3,P=~0U>>1;
struct edge{int x,y,next;}e[M<<1];
int i,j,k,n,m,len,x,y,c,pt[M],aa[M],l,r,last[N],fa[N],na[N],q[N],dep[N],c1[16],lastans;bool flag;
inline void add(int x,int y){e[++len].y=y;e[len].x=x;e[len].next=last[x];last[x]=len;}
inline void read(int&a){
char c;while(!((c=getchar())>='0')&&(c<='9'));a=c-'0';
while(((c=getchar())>='0')&&(c<='9'))(a*=10)+=c-'0';
}
int a[16],g[32][16];
inline int Gauss(int n){
int i,j,r,c,cnt;
for(c=cnt=0;c<n;c++){
for(r=cnt;r<31;r++)if(g[r][c])break;
if(r<31){
if(r!=cnt)for(i=0;i<n;i++)swap(g[r][i],g[cnt][i]);
for(i=cnt+1;i<31;i++)if(g[i][c])for(j=0;j<n;j++)g[i][j]^=g[cnt][j];
cnt++;
}
}
return n-cnt;
}
int main(){
for(read(n),read(m),i=1;i<=n;i++)dep[i]=P>>1;
for(i=1;i<=m;i++)read(x),read(y),add(x,y),add(y,x);
q[r=1]=1;dep[1]=0;
while(l<r)for(i=last[x=q[++l]];i;i=e[i].next)
if(dep[e[i].y]>dep[x]+1){
fa[e[i].y]=x;
na[e[i].y]=(i+1)>>1;
dep[e[i].y]=dep[x]+1;
q[++r]=e[i].y;
}else if((i&1)==0&&fa[x]!=e[i].y){
ran*=13;ran+=237;ran%=P;
pt[(i+1)>>1]=ran;
aa[e[i].x]^=pt[(i+1)>>1];
aa[e[i].y]^=pt[(i+1)>>1];
}
for(i=r;i;i--)for(j=last[x=q[i]];j;j=e[j].next)if(fa[e[j].y]==x)aa[x]^=aa[e[j].y];
for(i=1;i<=n;i++)pt[na[i]]=aa[i];
read(k);
while(k--){
for(read(c),i=0;i<c;i++)read(c1[i]),a[i]=pt[c1[i]^lastans];
for(i=0;i<31;i++)for(j=0;j<c;j++)g[i][j]=(a[j]>>i)&1;
if(flag=(Gauss(c)==0))lastans++;
puts(flag?"Connected":"Disconnected");
}
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(随机化+树上差分+线性基)

    上一题的强制在线版.对图跑出一个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. BZOJ3569: DZY Loves Chinese II(线性基构造)

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

  6. 题解-bzoj3569 DZY Loves Chinese II

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

  7. 【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 ...

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

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

  9. 【bzoj3569】 DZY Loves Chinese II

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

随机推荐

  1. ios中通过调试来使用私有api

    转自:http://blog.csdn.net/cubepeng/article/details/11284173 OS不允许使用ios私有api,使用私有api可以获得意想不到的效果 ,同时使用私有 ...

  2. NYOJ题目836画图

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsoAAAMbCAIAAADb4SQpAAAgAElEQVR4nO3du1Iq3dYG4H0T5l6IMR

  3. Loadrunner11.0 录制手机App脚本的方法

    使用Loadrunner录制手机终端App脚本 1. 说明 目前手机APP上的功能日益丰富,对手机应用功能的性能测试需求也越来越多.公司比较抠门没有花钱买Loadrunner,可怜我们工作中一直用的破 ...

  4. oracle限制ip訪問

    我這oracle版本為11.2.0.4,裝的GRID,所以在grid用戶下編輯sqlnet.ora 1.cd  /grid/product/11.2.0/network/admin 2.編輯sqlne ...

  5. phpcms-v9系统搭建wap网站及单页面

    如需要绑定域名为wap.domain.com,作下如操作: 一.把wap.domain.com域名绑定到你的这个网站主机上. 二.在网站后台——模块——手机门户域名里面填写“http://wap.do ...

  6. hdu 4756 MST+树形dp ****

    题意:给你n(n = 1000)个二维点,第一个点是power plant,还有n - 1个点是dormitories.然后现在知道有一条寝室到寝室的边是不能连的,但是我们不知道是哪条边,问这种情况下 ...

  7. MyBatis入门案例 增删改查

    一.MyBatis入门案例: ①:引入jar包 ②:创建实体类 Dept,并进行封装 ③ 在Src下创建大配置mybatis-config.xml <?xml version="1.0 ...

  8. flex_宽度补全

    宽度40px,另一个的补全宽度: <!DOCTYPE html> <html lang="en"> <head> <meta charse ...

  9. Servlet域对象ServletContext小应用------计算网站访问量

    package cn.yzu; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.Servlet ...

  10. MVC LINQ to SQL: Basic Concepts and Features

    http://www.codeproject.com/Articles/215712/LINQ-to-SQL-Basic-Concepts-and-Features