xiaoeyv Blog xiaoeyv Blog
首页 联系站长 交流群
1 vivo使用ATools更换第三方字体 221 阅读 2 记一次路由器和DNS互相DDoS 50 阅读 3 QQ窥屏检测源码分享 34 阅读 4 【科普】常见海外VPS线路介绍 22 阅读 5 [付费]Go+MySQL实现QQ ARK签名 12 阅读
未分类 Codeforces 洛谷 C++ Python CTF 网安 玩机 学习笔记 路由 Golang PHP 软件 日常 运维 代码 计算机 前端 Windows 站点发展 Java
登录
找到 1 篇与 BalticOI 相关的结果
  • 【洛谷】P1892 [BalticOI 2003] 团伙 2025-06-20
    【洛谷】P1892 [BalticOI 2003] 团伙 题目链接:[P1892 [BalticOI 2003] 团伙](https://www.luogu.com.cn/problem/P1892) 思路 除了并查集外,还要记录每个人之间的关系,典型的扩展域并查集模板题。 代码 写的时候用了秩优化,能优化一些效率。 // // Created by xiaoeyv on 2025/6/19. // #define maxn 1010 #define maxm 5010 #include<bits/stdc++.h> using namespace std; int n, m; int pre[maxn * 2], r[maxn * 2]; int find(int x) { return pre[x] == x ? x : pre[x] = find(pre[x]); } void join(int x, int y) { int rx = find(x), ry = find(y); if (rx == ry) return; if (r[rx] < r[ry]) pre[rx] = ry; else { pre[ry] = rx; if (r[rx] == r[ry]) r[rx]++; } } int main() { cin >> n >> m; memset(r, 0, sizeof(r)); for (int i = 1; i <= n * 2; i++) { pre[i] = i; } for (int i = 1; i <= m; i++) { char op; int p, q; cin >> op >> p >> q; if (op == 'F') { join(p, q); } else { join(p + n, q); join(p, q + n); } } set<int> ans; for (int i = 1; i <= n; i++) { ans.insert(find(i)); } cout << ans.size() << endl; return 0; }
    C++# C++# 并查集# 扩展域并查集# BalticOI# 洛谷# 秩
    xiaoeyv的头像 - xiaoeyv Blog xiaoeyv 1年前
    0 4 0
默认头像 - xiaoeyv Blog

HI!请登录

登录 注册

标签云
C++并查集洛谷PHPNginx路由ARKCLOUDFLAREDNSLaTeXWindowsWebLinuxPythonAlgorithm图图论最短路Kruskal扩展域并查集
易航博客
  • xiaoeyv Blog xiaoeyv Blog

    xiaoeyv's Blog,专注于网络安全&算法竞赛,分享渗透测试技巧、CTF、C++算法竞赛、建站教程与运维操作。
  • 友链申请 免责声明 广告合作 关于我们

    RSS MAP
    Copyright © 2022 - 2025 · xiaoeyv's Blog
    技术支持:易航
    当前在线人数 位
    已运行 00 天 00 时 00 分 00 秒
    扫一扫加微信 - xiaoeyv Blog