[ARC105E] Keep Graph Disconnected
好题。
如果 \(1\) 和 \(n\) 一直联通,开始即结束。
如果 \(n\mod 4=1\),那么 \(\frac 12x(x+1)+\frac12(n-x)(n-x+1)\) 为偶数。
如果 \(n\mod 4=3\),那么 \(\frac 12x(x+1)+\frac12(n-x)(n-x+1)\) 为奇数。
这两种情况最后连的边的数量奇偶固定,结合 \(m\) 的大小可以算出答案。
后面 \(n\mod 4=2\) 和 \(n\mod 4=0\) 的情况是类似的,以 \(n\mod4=2\) 为例。
如果 \(m\) 为奇数,先手目标为让最后两个连通大小为奇数,后手要让最后两个连通块大小为偶数。那么当且仅当一开始 \(1\) 所在连通块大小和 \(n\) 所在连通块大小都是偶数,后手能必胜。
如果 \(m\) 为偶数,先手目标为让最后两个连通大小为偶数,后手要让最后两个连通块大小为奇数。那么当且仅当一开始 \(1\) 所在连通块大小和 \(n\) 所在连通块大小都是奇数,后手能必胜。
// LUOGU_RID: 135034621
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int T,n,m,fa[N],sz[N];
int find(int x)
{
if(fa[x]==x)
return x;
return fa[x]=find(fa[x]);
}
int main()
{
// freopen("deadlock.in","r",stdin);
// freopen("deadlock.out","w",stdout);
scanf("%d",&T);
while(T--)
{
scanf("%d%d",&n,&m);
int c=0;
for(int i=1;i<=n;i++)
fa[i]=i,sz[i]=1;
for(int i=1,u,v;i<=m;i++)
{
scanf("%d%d",&u,&v);
if(find(u)^find(v))
{
sz[find(v)]+=sz[find(u)];
fa[find(u)]=find(v);
}
}
if(find(1)==find(n))
{
puts("Second");
continue;
}
if(n%4==1)
{
if(m&1)
puts("First");
else
puts("Second");
continue;
}
if(n%4==3)
{
if(m&1)
puts("Second");
else
puts("First");
continue;
}
if(n%4==0)
{
if(m&1)
{
if(sz[find(1)]%2==1&&sz[find(n)]%2==1)
puts("Second");
else
puts("First");
}
else
{
if(sz[find(1)]%2==0&&sz[find(n)]%2==0)
puts("Second");
else
puts("First");
}
continue;
}
if(m&1)
{
// printf("odd:%d %d ",sz[find(1)]&1,sz[find(n)]&1);
if(sz[find(1)]%2==0&&sz[find(n)]%2==0)
puts("Second");
else
puts("First");
}
else
{
// printf("even:%d %d ",sz[find(1)]&1,sz[find(n)]&1);
if(sz[find(1)]%2==1&&sz[find(n)]%2==1)
puts("Second");
else
puts("First");
}
}
}
[ARC105E] Keep Graph Disconnected的更多相关文章
- ValueError: Graph disconnected: cannot obtain value for tensor Tensor
一般是Input和下面的变量重名了,导致model里面的input变成了第二次出现的Input变量,而不是最开始模型中作为输入的Input变量 改正方法:给第二个变量赋一个新名字即可
- Course Selection CodeChef - RIN
All submissions for this problem are available. Read problems statements in Mandarin Chineseand Russ ...
- HDU 1845 Jimmy’s Assignment(二分匹配)
Jimmy’s Assignment Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Other ...
- hdu1845 Jimmy’s Assignment --- 完整匹配
意甲冠军: 它需要一个特殊的图,以找到最大匹配.该图的特征是:无向图,度的每个节点3.这是一个双边连接组件(the graph is 2-edge-connected (that is, at lea ...
- HDU - 1845 Jimmy’s Assignment (二分匹配)
Description Jimmy is studying Advanced Graph Algorithms at his university. His most recent assignmen ...
- Introduction to graph theory 图论/脑网络基础
Source: Connected Brain Figure above: Bullmore E, Sporns O. Complex brain networks: graph theoretica ...
- infoq - neo4j graph db
My name is Charles Humble and I am here at QCon New York 2014 with Ian Robinson. Ian, can you introd ...
- Graph Databases—The NOSQL Phenomenon阅读笔记
本章内容着重对了NOSQL和RDBMS(关系型数据库管理系统)的不同,以及其各自背后设计时考虑的因素.然后接下来,着重讲述了NOSQL的4种分类方法.下面我们将对重要知识点进行汇总. 1.We def ...
- FB面经Prepare: Bipartite a graph
input friends relations{{1,2}, {2,3}, {3,4}} 把人分成两拨,每拨人互相不认识, 所以应该是group1{1,3}, group2{2,4} 这道题应该是ho ...
- [IR] Graph Compression
Ref: [IR] Compression Ref: [IR] Link Analysis Planar Graph From: http://www.csie.ntnu.edu.tw/~u91029 ...
随机推荐
- 使用DWS集群,用户被锁定如何解锁
本文分享自华为云社区<[如何保证你的DWS数据更安全]使用DWS集群,用户被锁定如何解锁?>,作者:Shirley_Dou . 一.管理员用户被锁定,怎么破?gsql: FATAL: Th ...
- 微信小程序2--WXML与WXSS
编辑WXML文件 我们在开发者工具里打开之前修改的模板小程序home文件夹下的home.wxml,里面有如下代码 <!--pages/home/home.wxml--> <text& ...
- .NET 8 的 green thread 异步模型被搁置了
.NET 平台上的green thread 异步模型实验结果最近出来了,具体参见:https://github.com/dotnet/runtimelab/issues/2398 ,实验结果总结一下就 ...
- 【RocketMQ】顺序消息实现总结
全局有序 在RocketMQ中,如果使消息全局有序,可以为Topic设置一个消息队列,使用一个生产者单线程发送数据,消费者端也使用单线程进行消费,从而保证消息的全局有序,但是这种方式效率低,一般不使用 ...
- Java 多线程线程池的工作流程
1.在创建了线程池后,等待提交过来的任务请求. 2.当调用execute()方法添加一个请求任务时,线程池就会做如下判断: 2.1 如果正在运行的线程数量小于corePoolSize,那么马上创建线程 ...
- PyCharm配置autopep8(自动格式化Python代码)
PyCharm配置autopep8(自动格式化Python代码) 1. 关于PEP 8 PEP 8,Style Guide for Python Code,是Python官方推出编码约定,主要是为 ...
- ptaCCF
返回首页 English站点地图联系我们常见问题CCF招聘登录 加入CCF 计算机 CCF简介 中国计算机学会(CCF)成立于1962年,全国性学会,独立社团法人,中国科学技术协会成员. CCF是 ...
- Jmeter连接数据库sql语句操作,查询后取值做变量
第一步 :导入jar包 第二步 :创建JDBC Reques 第三步 :创建JDBC Connection Configuration 第四步:在request中输入数据进行操作 Query Typ ...
- vue项目打包,解决静态资源无法加载和路由加载无效(404)问题
打包后的项目静态资源无法使用,导致页面空白 静态资源无法使用,那就说明项目打包后,图片和其他静态资源文件相对路径不对,此时找到config里面的index.js,在build模块下加入assetsPu ...
- 文心一言 VS 讯飞星火 VS chatgpt (120)-- 算法导论10.3 5题
五.用go语言,设 L 是一个长度为 n 的双向链表,存储于长度为 m 的数组key.prev 和next 中.假设这些数组由维护双链自由表 F的两个过程 ALLOCATE-OBJECT 和 FREE ...