「杂题乱刷2」【MX-X8-T3】「TAOI-3」地地爱打卡

news/2025/1/31 20:59:45/文章来源:https://www.cnblogs.com/wangmarui/p/18695952

题目链接

【MX-X8-T3】「TAOI-3」地地爱打卡 (*1700)

解题思路

真不难吧,只是一个简单分讨,注意到这是一个无向图,因此我们特判以下几种情况:

  • \(s,t\) 不在一个连通块中,则点 \(s\) 一定不能到达点 \(t\),输出 expand,这个部分可以简单使用并查集维护。

  • \(s = t\),且 \(s\) 所在的连通块大小为 \(1\),且 \(x = 0\),则此情况一定合法,不移动即可,输出 tribool

  • \(s = t\),且 \(s\) 所在的连通块大小为 \(1\),且 \(x \neq 0\),则此情况一定不合法,因为你无法移动,输出 expand

此时,特判完这些情况,\(s\) 可以到达 \(t\),且连通块的大小一定大于 \(1\),基于这个性质,我们发现此时点 \(s\) 可以无限游走,点 \(s\) 能到达 \(t\) 且异或和为 \(x\) 当前仅当:

  • \(x\) 为奇数,则 \(s\)\(t\) 的路程有至少 \(1\) 条长度也为奇数。

  • \(x\) 为偶数,则 \(s\)\(t\) 的路程有至少 \(1\) 条长度也为偶数。

那么我们只需要将这个图黑白染色一下就可以解决了,证明显然,再次不再赘述。

参考代码

#include<bits/stdc++.h>
using namespace std;
#define re register
#define ll long long
#define cll const ll
#define forl(i,a,b) for(re ll (i)=(a);i<=(b);(i)++)
#define forr(i,a,b) for(re ll (i)=(a);i>=(b);(i)--)
#define pb push_back
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define endl '\n'
#define QwQ return 0;
ll _t_;
ll n,m,k;
ll x,y,z;
vector<ll>G[1000100];
ll id[1000010];
ll sz[1000010];
ll col[1000010][2];
ll find(ll x)
{if(id[x]==x)return x;return id[x]=find(id[x]);
}
void merge(ll x,ll y)
{x=find(x),y=find(y);if(x!=y){if(sz[x]>sz[y])swap(x,y);id[x]=y;sz[y]+=sz[x];sz[x]=0;}
}
void Dfs(ll x,ll y)
{for(auto i:G[x])if(!col[i][y^1])col[i][y^1]=1,Dfs(i,y^1);
}
void solve()
{cin>>n>>m>>k;forl(i,1,n)sz[i]=1,id[i]=i;forl(i,1,m)cin>>x>>y,G[x].pb(y),G[y].pb(x),merge(x,y);forl(i,1,n)if(!col[i][0] && !col[i][1])col[i][0]=1,Dfs(i,0);forl(_,1,k){cin>>x>>y>>z;if(x==y){if(z%2){if(col[x][0]+col[x][1]==2)cout<<"tribool\n";elsecout<<"expand\n";}else if(z && sz[find(x)]==1)cout<<"expand\n";elsecout<<"tribool\n";continue;}else if(find(x)!=find(y)){cout<<"expand\n";continue;}else if(sz[find(x)]==1)while(1);else if(z%2){if(col[x][0]+col[y][1]==2 || col[x][1]+col[y][0]==2)cout<<"tribool\n";elsecout<<"expand\n";}else{if(col[x][0]+col[y][0]==2 || col[x][1]+col[y][1]==2)cout<<"tribool\n";elsecout<<"expand\n";}}
}
int main()
{IOS;_t_=1;while(_t_--)solve();QwQ;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/877392.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

lightroom调色笔记

1.关于色彩关系任意两种颜色的混合都会是另一种颜色的互补色 RGB模式下: 红绿混合是黄,黄是蓝色的互补色 蓝绿混合是青色,红色是青色互补色 红蓝混合是品色,品色是绿色的互补色 2.亮度的区域划分3.关于曲线上的锚点 使用ctrl在画面上可以在曲线上找到需要调整的位置 画面偏…

05. 用户组管理

一、什么是用户组管理每一个用户都有一个用户组,系统可以对一个用户组的所有用户进行集中管理。不同 Linux 系统对用户组的规定有所不同。Linux 下的用户属于与它同名的用户组,这个用户组在创建用户时同步创建。用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修…

华为mate70pro+ 对比 小米10ultra 高像素模式

华为 拍摄一张大概要5-7秒 小米 只需不到1秒 华为明显要强华为小米 华为小米

Qt Quick与ROS通过UDP协议实现网络通信

实现目标 项目需要编写一个无人机地面站,无人机在ROS系统下运行,地面站需要与无人机建立通信,能够控制无人机起飞、降落、飞行,并能够接收无人机的状态信息。 该无人机系统的组成如下图所示:地面站通过无线网络与无人机上位机建立通信,上位机负责将飞控的无人机状态数据转…

5.C++提高编程

C++提高编程。C++提高编程 本阶段主要针对C++泛型编程和STL技术做详细讲解,探讨C++更深层的使用 1 模板 1.1 模板的概念 模板就是建立通用的模具,大大提高复用性 例如生活中的模板 一寸照片模板:PPT模板:模板的特点: 模板不可以直接使用,它只是一个框架 模板的通用并不是…

又来新活了!AI电商搜索,或是下一个90亿美元独角兽?

全新体验,大模型驱动的对话式购物搜索。图源:https://www.shopencore.ai/ 全新体验,大模型驱动的对话式购物搜索。 Encore, 由2024年10月成立的美国初创公司开发。定位于二手商品对话式购物搜索,最终目标为个人购物助理。 2024年12月3日获得YC(Y combinator)的50万美元天使…

qq网页版下载音乐教程

点一首音乐开始播放,务必要播放界面内只有一首音乐,然后f12调试,找到audio标签;然后复制src=”” 双引号内的内容到新标签打开,然后在播放栏,右键,就可以保存音乐了,注意有的音乐是m4a格式,下载完成后还要转换成mp3。谢雨尘安-谢雨尘安的博客

gin: 校验参数时返回自定义错误信息

一,代码 1,global/validator.go package globalimport "github.com/go-playground/validator/v10"//存放GetMessages()方法 type Validator interface {GetMessages() ValidatorMessages }//校验信息 type ValidatorMessages map[string]string// GetErrorMsg方法,…

VM笔记_Modbus通信触发流程

1,通信触发流程 ①通信配置② 接收事件新建③全局触发-事件触发4, 通信心跳配置和启用5, 效果展示

[SWPUCTF 2021 新生赛]easyupload3.0 Writeup

题目来源:NSSCTF 题目方向:Web 题目类型:文件上传 2.0的做法和1.0相同,不过用.phtml绕过就行 1.这里去了解了一下.htaccess文件: htaccess文件是Apache服务中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮助我们实现:网页301重定向、自定义404错…

数据库性能调优中的配置参数调整:提升系统效率的关键环节

title: 数据库性能调优中的配置参数调整:提升系统效率的关键环节 date: 2025/1/31 updated: 2025/1/31 author: cmdragon excerpt: 数据库的性能直接影响到应用程序的响应能力和用户体验,因此在日常运维中,管理员需要定期对数据库系统进行性能调优。配置参数调整是数据库性…

PID 温控设计(基于 STC51)

PID 温控设计(基于 STC51) 一、需求分析 开关型控制存在的问题:加热的过程是全功率加热,三极管发热量大,温度控制振荡幅度大,控制精度较低。而通过采用PID方法能够更加精确地控制加热片处于目标温度,并在一个较小范围内浮动。精度要求:0.2℃ 温控范围 目标温度:45℃ 温…