zoj 3509
来源:互联网 发布:bae 数据库 编辑:程序博客网 时间:2024/09/21 06:18
题目大意:
N个点,M次加边/删边/询问两点连通性操作,初始图为空。N<=500,M<=50000,每条边最多加一次。
题解:
想什么呢,大力bitset!N*N*M/32花式水过!
附代码:
#include<bits/stdc++.h>#define N 510using namespace std;bitset<N> s[N],ned,now,emp;int n,m;inline bool query(int a,int b){ned=now=s[a];ned[a]=0;int ta;while((ta=ned._Find_first())!=N){ned[ta]=0;ned|=(now|s[ta])^now;now|=s[ta];if(now[b]) return 1;}return now[b];}int main(){char ch[5];int a,b;int tot=0;while(~scanf("%d%d",&n,&m)){if(tot) puts("");for(int i=0;i<n;i++){s[i]=emp;s[i][i]=1;}printf("Case %d:\n",++tot);while(m--){scanf("%s%d%d",ch,&a,&b);a--,b--;if(ch[0]=='I') s[a][b]=s[b][a]=1;else if(ch[0]=='D') s[a][b]=s[b][a]=0;else{if(a==b) puts("YES");else if(query(a,b)) puts("YES");else puts("NO");}}}return 0;}
阅读全文
0 0
- Zoj 3509
- zoj 3509
- zoj 3509 Island Communication
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ZOJ
- ORB-SLAM(四)追踪
- 时间戳相减的几种方法
- ORB-SLAM(五)优化
- 二叉树的各种操作(遍历/深度/距离/转换)
- ORB-SLAM(六)回环检测
- zoj 3509
- 最长公共子串与最长公共子序列
- FreeImage 3.17.0 在VS2015下编译及遇到问题解决
- pcie 驱动程序分析
- JAVA选择排序
- js日历控件
- struts2粗略总结
- select函数详解及其在I|O复用模型中的应用
- 1048. 数字加密(20)