bzoj1823满汉全席
2-sat模板
这篇博客写得非常好
//Achen
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<vector>
#include<queue>
#include<ctime>
#include<cmath>
const int N=;
typedef long long LL;
using namespace std;
int T,n,m,bel[N],dfn[N],low[N]; template<typename T> void read(T &x) {
char ch=getchar(); x=; T f=;
while(ch!='-'&&(ch<''||ch>'')) ch=getchar();
if(ch=='-') f=-,ch=getchar();
for(;ch>=''&&ch<='';ch=getchar()) x=x*+ch-''; x*=f;
} int ecnt,fir[N],nxt[],to[];
void add(int u,int v) {
nxt[++ecnt]=fir[u]; fir[u]=ecnt; to[ecnt]=v;
} int get() {
int x; char o=getchar();
while(o!='h'&&o!='m') o=getchar(); read(x);
return o=='h'?(x<<):(x<<|);
} int que[N],dfs_clock,top,tot;
void tarjan(int x) {
dfn[x]=low[x]=++dfs_clock;
que[++top]=x;
for(int i=fir[x];i;i=nxt[i]) {
if(!dfn[to[i]]) {
tarjan(to[i]);
low[x]=min(low[x],low[to[i]]);
}
else if(!bel[to[i]]) low[x]=min(low[x],dfn[to[i]]);
}
if(dfn[x]==low[x]) {
tot++;
while(top) {
int tp=que[top--];
bel[tp]=tot;
if(tp==x) break;
}
}
} int main() {
#ifdef DEBUG
freopen(".in","r",stdin);
freopen(".out","w",stdout);
#endif
read(T);
while(T--) {
read(n); read(m); ecnt=;
memset(dfn,,sizeof(dfn));
memset(bel,,sizeof(bel));
memset(fir,,sizeof(fir));
for(int i=;i<=m;i++) {
int x=get();
int y=get();
add(x^,y); add(y^,x);
}
dfs_clock=tot=;
for(int i=;i<=(n<<|);i++) if(!dfn[i]) tarjan(i);
int fl=;
for(int i=;i<=(n<<|);i+=)
if(bel[i]==bel[i|]) {
fl=; break;
}
if(fl) puts("BAD");
else puts("GOOD");
}
return ;
}
bzoj1823满汉全席的更多相关文章
- [BZOJ1823]满汉全席
Description 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而 ...
- p4171&bzoj1823 满汉全席
传送门(洛谷) 传送门(bzoj) 题目 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能 ...
- 2-SAT习题讲解
2-SAT习题讲解 讲在前面:下述例题不是按照难度顺序的,而且基本就只会讲解建图的过程.下面讲解中$A'$为$A$的反向状态. 一.bzoj习题 例一:$bzoj2199 奶牛议会$ 首先我们考虑本题 ...
- 【BZOJ1823】[JSOI2010]满汉全席(2-sat)
[BZOJ1823][JSOI2010]满汉全席(2-sat) 题面 BZOJ 洛谷 题解 很明显的\(2-sat\)模板题,还不需要输出方案. 对于任意两组限制之间,检查有无同一种石材要用两种不同的 ...
- 【BZOJ1823】[JSOI2010]满汉全席 2-SAT
[BZOJ1823][JSOI2010]满汉全席 Description 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只 ...
- Bzoj1823 [JSOI2010]满汉全席
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1640 Solved: 798 Description 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的 ...
- C++之路进阶——bzoj1823(满汉全席)
F.A.Qs Home Discuss ProblemSet Status Ranklist Contest ModifyUser hyxzc Logout 捐赠本站 Notice:由于本OJ建立在 ...
- 【BZOJ1823】 [JSOI2010]满汉全席
Description 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而 ...
- bzoj1823 [JSOI2010]满汉全席(2-SAT)
1823: [JSOI2010]满汉全席 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 1246 Solved: 598[Submit][Status ...
随机推荐
- Docker系列(十六):搭建Openshift环境
目的: 搭建Linux下的Openshift环境. 参考资料: 开源容器云OpenShift 构建基于Kubernetes的企业应用云平台 ,陈耿 ,P253 ,2017.06 .pdf 下载地址:h ...
- 转:Wireshark基本介绍和学习TCP三次握手
源地址:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS ...
- 微信小程序 拼团商品倒计时(拼团列表、拼团商品详情)
直接上图: 拼团列表.拼团详情-倒计时 //单个倒计时,适用用于单个商品的倒计时 js文件: //倒计时 function cou ...
- 06_springmvc之参数绑定(pojo和集合)
一.包装类型pojo参数绑定 实现方法: 第一种方法:在形参中 添加HttpServletRequest request参数,通过request接收查询条件参数. 第二种方法:在形参中让包装类型的po ...
- yii2下使用支付宝
最近入坑了yii2 感觉是个很强大的框架.使用yii做支付宝的移动支付的时候出了点问题,记录下来避免以后忘记了. 使用的是支付宝立即到账的功能,网上很多集成好的接口我就不重复了,找不到的话github ...
- 2018-8-10-WPF-鼠标移动到列表上-显示列表图标
title author date CreateTime categories WPF 鼠标移动到列表上 显示列表图标 lindexi 2018-08-10 19:16:51 +0800 2018-2 ...
- 未A,或用水法,或不熟的题
今天是2017.11.25 1. 用栈实现dfs JZOJ_senior 3467 2. 链表加堆或线段树乱搞 JZOJ_senior 3480 3. 求每个边所在的奇环.偶环 JZOJ_senior ...
- 模板:KD-Tree
KD-Tree,用来解决多维空间中的问题,其实就是优化暴力(逃 一般cdq能做的它都能做,而且...既然是优化暴力,那就学习一下了 对与几个n维点,我们将它每一维分割,建立一颗二叉树,方便我们搜索剪枝 ...
- Android实战技巧之四十一:制作自己的Android SDK
标签: sdkandroid定制sdk 2015-09-21 18:05 11237人阅读 评论(2) 收藏 举报 分类: Android(260) 版权声明:本文为博主原创文章,未经博主允许 ...
- vue 路由 URL传参
源码如下: import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) //全局使用该组件 const ro ...