【BZOJ 1997】[Hnoi2010]Planar
Description

Input

Output

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int T,n,m,timer,top,cnt,scc;
int u[],v[];
int c[],pos[];
int head[],dfn[],low[],s[],bel[];
bool ss[];
struct ee{int to,next;}e[];
void ins(int u,int v){
e[++cnt].to=v;e[cnt].next=head[u];head[u]=cnt;
}
void tarjan(int x){
dfn[x]=low[x]=++timer;
s[++top]=x;ss[x]=;
for(int i=head[x];i;i=e[i].next){
int v=e[i].to;
if(!dfn[v]) {
tarjan(v);
low[x]=min(low[x],low[v]);
}else if(ss[v])low[x]=min(low[x],dfn[v]);
}
if(dfn[x]==low[x]){
int t=-;scc++;
while(t!=x){
t=s[top--];
bel[t]=scc;
ss[t]=;
}
}
}
bool judge(){
for(int i=;i<=m;i++)
if(bel[*i]==bel[*i-])return ;
return ;
}
int main(){
scanf("%d",&T);
while(T--){
memset(head,,sizeof(head));cnt=;
scc=cnt=timer=top=;
memset(low,,sizeof(low));
memset(dfn,,sizeof(dfn));
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++) scanf("%d%d",&u[i],&v[i]);
for(int i=;i<=n;i++) scanf("%d",&c[i]);
for(int i=;i<=n;i++) pos[c[i]]=i;
if(m>*n-){puts("NO");continue;}
for(int i=;i<=m;i++){
u[i]=pos[u[i]];v[i]=pos[v[i]];
if(u[i]>v[i]) swap(u[i],v[i]);
if(v[i]-u[i]==||(u[i]==&&v[i]==n)) continue;
u[++top]=u[i];v[top]=v[i];
}
m=top;top=;
for(int i=;i<=m;i++)
for(int j=i+;j<=m;j++){
if((u[i]<u[j]&&v[i]<v[j]&&v[i]>u[j])||u[j]<u[i]&&v[i]>v[j]&&v[j]>u[i]){
ins(*i-,*j);ins(*j-,*i);
ins(*j,*i-);ins(*i,*j-);
}
}
for(int i=;i<=*m;i++) if(!dfn[i]) tarjan(i);
if(judge()) printf("YES\n");else printf("NO\n");
}
}
【BZOJ 1997】[Hnoi2010]Planar的更多相关文章
- 【BZOJ 2004】: [Hnoi2010]Bus 公交线路
题目链接: TP 题解: 所以说,超显眼的数据范围啊. 很显然我们对于每个P的区间都是要有k个站被bus停留,然后考虑转移的话应该是把这k个站里的某个bus往前走,那么转移也很显然了,n的范围很大 ...
- 【BZOJ 1998】[Hnoi2010]Fsk物品调度 置换群+并查集
置换群的部分水得一比,据说是经典的置换群理论(然而我并不知道这理论是啥).重点就在于怎么求pos!!!容易发现这个东西是这样的:每次寻找pos,先在本环里找,找不到再往下一个环里找,直到找到为止……一 ...
- 【BZOJ1997】[Hnoi2010]Planar 2-SAT
[BZOJ1997][Hnoi2010]Planar Description Input Output Sample Input 2 6 9 1 4 1 5 1 6 2 4 2 5 2 6 3 4 3 ...
- 【BZOJ 1150】 1150: [CTSC2007]数据备份Backup (贪心+优先队列+双向链表)
1150: [CTSC2007]数据备份Backup Description 你在一家 IT 公司为大型写字楼或办公楼(offices)的计算机数据做备份.然而数据备份的工作是枯燥乏味 的,因此你想设 ...
- Kruskal算法及其类似原理的应用——【BZOJ 3654】tree&&【BZOJ 3624】[Apio2008]免费道路
首先让我们来介绍Krukal算法,他是一种用来求解最小生成树问题的算法,首先把边按边权排序,然后贪心得从最小开始往大里取,只要那个边的两端点暂时还没有在一个联通块里,我们就把他相连,只要这个图里存在最 ...
- 【BZOJ 2957】楼房重建&&Codechef COT5 Count on a Treap&&【NOIP模拟赛】Weed 线段树的分治维护
线段树是一种作用于静态区间上的数据结构,可以高效查询连续区间和单点,类似于一种静态的分治.他最迷人的地方在于“lazy标记”,对于lazy标记一般随我们从父区间进入子区间而下传,最终给到叶子节点,但还 ...
- LCA 【bzoj 4281】 [ONTAK2015]Związek Harcerstwa Bajtockiego
[bzoj 4281] [ONTAK2015]Związek Harcerstwa Bajtockiego Description 给定一棵有n个点的无根树,相邻的点之间的距离为1,一开始你位于m点. ...
- 【BZOJ 1191】 [Apio2010]特别行动队 (斜率优化)
dsy1911: [Apio2010]特别行动队 [题目描述] 有n个数,分成连续的若干段,每段的分数为a*x^2+b*x+c(a,b,c是给出的常数),其中x为该段的各个数的和.求如何分才能使得各个 ...
- 【BZOJ 1096】 [ZJOI2007]仓库建设 (斜率优化)
1096: [ZJOI2007]仓库建设 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3940 Solved: 1736 Description ...
随机推荐
- C#导出
#region DataReader 的数据导出到Excle 中 //public string Exports(string str_sql) //{ / ...
- 在PHP应用中简化OAuth2.0身份验证集成:OAuth 2.0 Client
在PHP应用中简化OAuth2.0身份验证集成:OAuth 2.0 Client 阅读目录 验证代码流程 Refreshing a Token Built-In Providers 这个包能够让你 ...
- Android手机与计算机间的”信任关系”
在iDevices(如iPhone.iPad等等)的取证方面,那个代表”信任关系”的plist无疑是最为关键的迹证,只要有了它,哪怕是最新机型的iDevice及最新版的iOS,且有着指纹保护或pass ...
- Change Homepage Logo
Open the following defination and changed them. 1. NEW_PS_LOGO (Image Type) - To change the logo.2. ...
- Silverlight中的主题设置
关于Theme,我的理解是和ASP.NET主题中的CSS是一个意思,当然,Sl中的样式更加的强大. 第一种方式: 1,装完Silverlight Tookit之后,在C:\Program Files\ ...
- JavaScript 一些基础练习
JavaScript为网页添加动态效果并实现与用户交互的功能.改变颜色以及宽高,隐藏或显示内容,取消设置 <style type="text/css"> body { ...
- php读取excel文件 更新修改excel
php读取excel文件示例,还有更新修改功能. 代码: //模板存放目录 $dir = $DOCUMENT_ROOT.'/backoffice/admin/oemcheck/'; $template ...
- 12)Java Constructor
Constructor 构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading. 构造器用来确保每个对象都会得到初始化.当对 ...
- 信驰达携“Zigbee Light Link灯控方案”亮相第18届广州国际照明展
2013年6月9日至12日,第18届广州国际照明展览会在琶洲中国进出口商品交易会展馆举行,作为全球照明及LED行业风向标和晴雨表,本次展会吸引了来自27个国际及地区,共2600多家企业参展.我公司受T ...
- VS2013+Qt5.6+VSaddin1.2.5
1 下载Qt(1)Qt安装包http://download.qt.io/official_releases/qt/(2)Qt插件http://ftp.jaist.ac.jp/pub/qtproject ...