ICode9

精准搜索请尝试: 精确搜索
  • Nearest Common Ancestors(LCA)(最近公共祖先LCA)2021-11-12 19:03:32

    题目链接: http://poj.org/problem?id=1330 这个问题做法比较多,记录下自己的写法。 1,首先将数据存储在邻接表里,先将数据按照并查集存储,然后将叶子节点的深度全部神深搜出来,存储到深度数组中。 2,然后就是具体做法: 先判断两个数是否在一棵树的同一层上,若不是先调整到同一层上

  • LCT2021-09-08 15:03:54

    LCT (Link - Cut Tree) 今天,YCC 本来是想搞一搞数论,但是老吕说:今天我闲着,给你们讲一讲LCT。 可是,我不闲啊! LCT 是什么? 是一个由若干棵子结点无序的有根树组成的森林,支持对树的分割, 合并, 对某个点到它的根的路径的某些操作, 以及对某个点的子树进行的某些操作。 基本概念 原树:就

  • CF832D题解2021-05-02 16:33:35

    题目传送门 Description 给定一棵树上的三个点 \(a,b,c\),你要制定两条起点和终点都在这三个点中的路径,使得两条路径重叠的节点最多。 Solution 感觉我的方法和大众不同,显然是珂以Hack的 考虑分类讨论,分三类: \(a\) 点在这两条路径的起止点中出现 \(2\) 次。 \(b\) 点在这两条路径

  • 极地网络2021-03-11 19:34:08

    问题描述 国防部想要通过无线网络与北极地区的一些军事哨所建立通讯连接。有两种不同的通讯技术将要被用来建立这个网络系统:无线电和卫星电话。每个哨所都将配置无线电收发器。只有部分哨所将配置卫星电话。 任意两个配置了卫星电话的哨所可以通过卫星来通信,卫星通信不受地域

  • 树链剖分求LCA(洛谷P3379)2020-10-13 16:02:37

    #include<bits/stdc++.h> using namespace std; const int maxn=5e5+10; vector<int>g[maxn]; int head[maxn],tot; void add(int fr,int to){ g[fr].push_back(to); g[to].push_back(fr); } int size[maxn];//子树大小 int fath[maxn];// int maxson[maxn];/

  • 关于倍增2019-10-21 19:57:37

    P3379 【模板】最近公共祖先(LCA) 【题目大意】 给你树的节点个数\(n\),询问个数\(m\)和树根\(s\), 输入\(n,m,s\); 输入\(n\)对\(x,y.\)表示\(x,y\)结点之间有一条边 输入\(m\)对\(a,b.\)表示求\(a,b\)的最近公共祖先 【思路】 下面的解释均以这个图为例 今天用这道题来说一下倍增

  • 2018-2019 ACM-ICPC Brazil Subregional Programming Contest L. Subway Lines2019-09-12 19:52:36

      下午小细节没处理好,然后WA了。晚上静心改了改就好了。开心!   不过.....499ms?   L. Subway Lines   在网上搬了找重心的dfs代码。   得找lca,但是我已经忘了该用什么算法,因为很久之前看的找lca的题/算法,但是太久没用,忘了.... 所以...就没用什么算法模板了。 从重心G开始遍历

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有