首页 > TAG信息列表 > 轻重
[NOI2021]轻重边
这个题有两个方法,都得掌握。(LCT就算了) 一个方法不具有强的普遍性,但很巧妙,可以积累一下。边由两个端点组成。初始时各点的颜色互不相同,每次修改对路径上的点赋予独一无二的颜色,可以使得黑边等价于两端点颜色相同,白边等价于颜色不同。这个做法能够成立主要是因为修改的方式比较特殊毛毛虫剖分
目录毛毛虫剖分问题描述重标号方法重标号性质例题NOI2021 轻重边 主要参考:https://www.cnblogs.com/A-Quark/p/16435243.html 毛毛虫剖分 问题描述 毛毛虫剖分,一种由轻重链剖分(HLD)推广而成的树上结点重标号方法,支持修改 / 查询一只毛毛虫的信息,并且可以对毛毛虫的身体和足分别修改轻重链剖分学习笔记
这是第二遍 \(dfs\),定义:\(son[now]\) 为 \(now\) 点的重儿子,\(topf\) 为当前的重链上深度最小的一个点也就是开始的点。我们在遍历整棵树的时候,会选择先去遍历这个点的左儿子然后再去管其他的点。我们在这一遍遍历其实就是在给他们分配线段树上的基本信息以及记录轻重链的基本信轻重链剖分
目录轻重链剖分轻重链剖分基本原理代码实现(板子)题面换根影响轻重链剖分链操作子树操作整体代码树剖完就是线段树题了qwq没了题外话 轻重链剖分 论文鸽说叫 heavy-light decomposition 或 heavy path decomposition . 正确叫法(不是): 这是真的: 轻重链剖分基本原理 一个节点子树大小15、轻重搭配
题目描述 n 个同学去动物园参观,原本每人都需要买一张门票,但售票处推出了一个优惠活动,一个体重为 x 的人可以和体重至少为 2x 配对,这样两人只需买一张票。现在给出了 n 个人的体重,请你计算他们最少需要买几张门票? 输入 第一行一个整数 n,表示人数。 第二行 n 个整数,每个面子与轻重
有碍于面子,我们在不停踌躇,譬如不愿意上班摸鱼去做自己的事情,似乎显得自己很不入流;又譬如碍于他人的评论,我们会避免被别人议论指责嘲弄;但语言,观念都太过轻飘飘了,尽管它们力量无穷,但是,绝大多数时候它们更像是一只麻雀路过,一通华丽表演后便扑腾翅膀离去。 生活需要很多东西,孰轻孰重需轻重链剖分 学习笔记
目录板子题算法解析定义实现预处理修改复杂度代码 板子题 题目传送门 这道题目要求在树上修改和查询点一条链上或者是一棵子树的点的权值。 算法解析 考虑使用LCA,但是不能使用倍增的解法(倍增只能查询不能修改),所以我们要使用一种新的算法——轻重链剖分。 建议先学完LCA在来看这篇B组模拟一__轻重搭配
//java代码,得分60,运行错误 import java.util.Arrays; import java.util.Scanner; //60分 运行错误 public class Main { public static void main(String[] args) { Scanner sca=new Scanner(System.in); int n; int x=0; int a[]; n=sca.nextInt(); a=new int轻重搭配 模拟 贪心
题目链接:https://nanti.jisuanke.com/t/36116 n个人,最少的门票,n/2张。 mid = (n-1)/2 然后 l = mid, r = n-1。两边比较,模拟一下过程,如果arr[i] * 2 < arr[j] 那就 n--。否则就 l--。去找下一个小于的数看是否能满足条件。 %100通过代码 #include <bits/stdc++.h> #define M 100000