当前位置: 首页 > news >正文

#题解#洛谷 P 4375 Out of Sorts G#离散化#并查集#

include<bits/stdc++.h>

using namespace std;
const int N = 1e5+10;
int n, m;
int x[N], y[N], z[N];
int b[N], f[N];
int find (int x)
{
int y = x;
while (f[x] != x)
x = f[x];
f[y] = x;
return x;
}
void merge (int x, int y)
{
int a = find(x), b = find(y);
if (b != a)
f[b] = a;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
int len = 0;
for (int i = 1; i <= m; i++)
{
cin >> x[i] >> y[i];
x[i]--;
string s;
cin >> s;
if (s == "odd")
z[i] = 1;
b[++len] = x[i];
b[++len] = y[i];
}
sort(b + 1, b + len + 1);
len = unique(b + 1, b + len + 1) - b - 1;
for (int i = 1; i <= len * 2; i++)
f[i] = i;
for (int i = 1; i <= m; i++)
{
// if (x[i] > n || x[i] < 1 || y[i] > n || y[i] < 1)
// {
// cout << i - 1;
// return 0;
// }
x[i] = lower_bound(b + 1, b + len + 1, x[i]) - b;
y[i] = lower_bound(b + 1, b + len + 1, y[i]) - b;

	if (z[i] == 0){int a = find(x[i]), b = find(y[i] + len);if (a == b){cout << i - 1;return 0;}else{merge(x[i], y[i] );merge(x[i] + len, y[i] + len );}}else{int a = find(x[i]), b = find(y[i]);if (a == b){cout << i - 1;return 0;}else{merge(x[i] + len, y[i]);merge(x[i], y[i] + len);}}
}
cout << m;
return 0;

}

http://www.jsqmd.com/news/47564/

相关文章:

  • Trae实操:连接Vizro MCP建立内容可视化
  • 2025年回收洋酒价格公司权威推荐榜单:洋酒回收价目表/哪里回收洋酒/洋酒回收价格源头公司精选
  • 2025年快递纸箱定做厂家权威推荐榜单:五层纸箱/重型纸箱/单层纸板箱源头厂家精选
  • 7-3 NCHU_单部电梯调度程序
  • 面向对象编程解决电梯调度问题
  • 2025年低音功放批发厂家权威推荐榜单:汽车音响改装功放/两路功放/四路功放源头厂家精选
  • 2025年镀锌角码实力厂家权威推荐榜单:万能立柱角码/角码连接件/钢结构预埋件源头厂家精选
  • Nmap 命令详细使用指南(官方参数全覆盖版) - 实践
  • B端界面设计之审批流程交互和UI界面——让审批“顺起来”
  • 从renderToString到hydrate,从0~1手写一个SSR框架 - 指南
  • grep用法linux
  • Matplotlib 电影票房分析挑战
  • selenium: 安装selenium
  • 基于单片机的故障检测自动保护智能防夹自动门设计及LCD状态显示架构
  • gpt安装 linux
  • 第2周作业
  • GRANT语句在MySQL中的权限继承策略
  • 轨道平面系与轨道姿态系 - 实践
  • Snipaste 桌面截图工具 易上手:桌面 贴 图神器,高效截图不费力
  • 【物联网控制体系项目实战】—— 整体架构流程与 WS 构建
  • SBD521S-30-ASEMI可直接替代安世1PS79SB10
  • 51单片机(markdown格式阅读) - 实践
  • NCHU_单部电梯调度程序设计分析_23207332
  • 【日记】博客爆炸了(1009 字)
  • 解决:部署mabayolo模型cd selective_scan pip install . cd ..报错 以及 torch.cuda.is_available()结果False
  • gpt linux
  • gpt分区 linux
  • 【调和级数】codeforces 731 F. Video Cards
  • 电梯调度迭代之路:三次题目集的总结与反思
  • 2025-11-22 早报新闻