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

并查集模板

注意理解路径压缩

static class UnionFind {
        int[] fa;

        public UnionFind(int n) {
            fa = new int[n];
            for (int i = 0; i < n; i++) {
                fa[i] = i;
            }
        }

        public int find(int i) {
            if (fa[i] != i) {
                fa[i] = find(fa[i]);
            }
            return fa[i];
        }

        public void union(int i, int j) {
            int fai = find(i);
            int faj = find(j);
            if (fai != faj) {
                fa[fai] = faj;
            }
        }
    }
http://www.dtcms.com/a/58741.html

相关文章:

  • 29-验证回文串
  • 【C++初阶】类与对象(下)
  • Docker 运行 GPUStack 的详细教程
  • 蓝桥杯刷题周计划(第二周)
  • Scala 中trait的线性化规则(Linearization Rule)和 super 的调用行为
  • GC安全点导致停顿时间过长的案例
  • 深入解析跨域问题及其解决方案:从原理到代码实践
  • (安全防御)旁挂组网双机热备负载分担实验
  • coding ability 展开第二幕(双指针——巩固篇)超详细!!!!
  • Codeforces Round 976 (Div. 2) (部分题解)
  • webtinyserver讲解
  • TypeScript系列06-模块系统与命名空间
  • 《Linux栈破坏了,如何还原》
  • Element Plus中的树组件的具体用法(持续更新!)
  • 分布式Consul面试题及参考答案
  • 《C陷阱与缺陷》读书笔记(一)
  • stm32中分析UART中IDLE,RXNE,TC,TXE这些标志位的作用
  • 【商城实战(15)】订单创建与提交:技术与实战的深度融合
  • Java:LocalDatTime(代替Calendar)、ZoneDateTime(时区时间)
  • Python 中 `sort()` 和 `sorted()` 的用法与区别
  • 课程《Deep Learning Specialization》
  • Python项目在 Cursor 编辑器中 Conda 环境配置问题
  • 文件系统文件管理
  • 十进制转任意负进制【C语言】
  • Stream特性(踩坑):惰性执行、不修改原始数据源
  • 万字总结数据分析思维
  • 洛谷 P3092 [USACO13NOV] No Change G
  • STM32如何精准控制步进电机?
  • TIA弱电流测量措施和经验汇总
  • QT项目初步认识(对象树)