BZOJ1823:[JSOI2010]满汉全席——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=1823
https://www.luogu.org/problemnew/show/P4171
题面太长啦就不粘过来啦!
裸的2-SAT用来练板子的。
显然属于“a和b之间必须选一种”模型,只要a'向b连边,b'向a连边即可。
(被这题读入坑了orz)
#include<cstdio> #include<queue> #include<cctype> #include<cstring> #include<cmath> #include<stack> #include<iostream> #include<algorithm> using namespace std; typedef long long ll; const int N=1005; const int M=20005; struct node{int to,nxt; }e[M]; int T,n,m,head[N],cnt; int dfn[N],low[N],t,l; int to[N]; bool inq[N]; stack<int>q; inline int neg(int x){if(x>n)return x-n;return x+n; } inline void add(int u,int v){e[++cnt].to=v;e[cnt].nxt=head[u];head[u]=cnt; } void tarjan(int u){dfn[u]=low[u]=++t;q.push(u);inq[u]=1;for(int i=head[u];i;i=e[i].nxt){int v=e[i].to;if(!dfn[v]){tarjan(v);low[u]=min(low[u],low[v]);}else if(inq[v]){low[u]=min(low[u],dfn[v]);}}if(dfn[u]==low[u]){int v;l++;do{v=q.top();q.pop();inq[v]=0;to[v]=l;}while(u!=v);} } inline void init(){cnt=t=l=0;memset(head,0,sizeof(head));memset(dfn,0,sizeof(dfn)); } inline int get(){int k;char ch=0;while(ch!='m'&&ch!='h')ch=getchar();scanf("%d",&k);if(ch=='h')k+=n;return k; } int main(){scanf("%d",&T);while(T--){init();scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){int a=get(),b=get();add(neg(a),b);add(neg(b),a);}for(int i=1;i<=2*n;i++)if(!dfn[i])tarjan(i);bool flag=1;for(int i=1;i<=n&&flag;i++){if(to[i]==to[i+n])flag=0;}if(flag)puts("GOOD");else puts("BAD");} }
+++++++++++++++++++++++++++++++++++++++++++
+本文作者:luyouqi233。 +
+欢迎访问我的博客:http://www.cnblogs.com/luyouqi233/+
+++++++++++++++++++++++++++++++++++++++++++
转载于:https://www.cnblogs.com/luyouqi233/p/9022107.html
BZOJ1823:[JSOI2010]满汉全席——题解相关推荐
- Bzoj1823 [JSOI2010]满汉全席
Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1640 Solved: 798 Description 满汉全席是中国最丰盛的宴客菜肴,有许多种不同 ...
- BZOJ1823:[JSOI2010]满汉全席(2-SAT)
Description 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而 ...
- BZOJ1823[JSOI2010]满汉全席——2-SAT+tarjan缩点
题目描述 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而能够烹饪出经过 ...
- [洛谷P4171][JSOI2010]满汉全席
题目大意:有$n$个点,每个点可以选或不选,有$m$组约束,形如$a,u,b,v$,表示$u=a,v=b$中至少要满足一个条件,问是否存在一组解,多组询问 题解:$2-SAT$,感觉是板子题呀,最后判 ...
- [JSOI2010] 满汉全席
题目描述 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的材料透过满族或是汉族的料理方式,呈现在數量繁多的菜色之中.由于菜色众多而繁杂,只有极少數博学多闻技艺高超的厨师能够做出满汉全席,而能够烹饪出经过 ...
- BZOJ2208:[JSOI2010]连通数——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=2208 floyd压位是神马东西-- 我们tarjan缩点之后反向拓扑就可以记录联通块可达状态,然后 ...
- 【BZOJ】1823: [JSOI2010]满汉全席(2-sat)
题目 传送门:QWQ 分析 2-sat模板(然而辣鸡如我还是调了好久) 代码 //bzoj 1823 2-sat #include <bits/stdc++.h> using namesp ...
- P4171 [JSOI2010]满汉全席
简要的学了一下2-sat,然而不会输出方案. 就是个sb模板题啦 // luogu-judger-enable-o2 #include<bits/stdc++.h> #define il ...
- 一句话题解(20170801~20170125)
8.1 bzoj 4720 noip2016 换教室 floyd预处理+期望(薛定谔的猫) bzoj 4318 OSU! 三次函数期望值 从一次.二次推得 8.2 bzoj 1076 状压+期望DP ...
最新文章
- 创建符合标准的、有语意的HTML页面——ASP.NET 2.0 CSS Friendly Control Adapters 1.0发布...
- 现在当兵有什么待遇复原以后_从今年征兵情况来看,以后当兵可能会越来越难,有6点原因...
- [云炬创业基础笔记] 第四章测试16
- Android应用Activity、Dialog、PopWindow、Toast窗体加入机制及源代码分析
- 二元相图软件_Materials Studio 领先的材料模拟软件
- [bzoj1412][ZJOI2009]狼和羊的故事
- 使用entityframework操作sqlite数据库
- 跨服务器查询信息的sql
- UnityParticle2:5x基础模块
- kotlin写java_Kotlin作为服务器端开发语言与Java相比会如何?
- 集中器与本地通信模块的交互流程
- mysql 删除的sql语句怎么写_mysql教程删除数据sql语句用法
- 梦想,因坚持而绽放——答大学生的兴趣与行动
- 手把手教你用java发送邮件
- Not Assigning
- html 3D球状旋转标签云文字云效果
- 区块链 | 区块链与物联网双剑合璧 这对CP如何改写未来?
- 安卓设置keychain_Keychain的使用
- 视频素材从哪里找?看这篇就对了
- MAC下SSL通讯问题、解决办法