首页 > 其他分享 >[思路笔记] 线段树合并与你

[思路笔记] 线段树合并与你

时间:2023-02-06 21:45:02浏览次数:36  
标签:题目 个点 线段 笔记 权值 大意 思路

明天再来补最后一题的思路。

CF208E Blood Cousins

题目大意

给一棵 \(n\) 个点的树,点编号为 \(1\) 到 \(n\)。共 \(m\) 次询问,每次询问给出一对整数 \(v\) 和 \(p\),求有多少点与点 \(v\) 有共同的 \(p\) 级祖先。

思路

使用倍增求出每个点的祖先数组。离线所有询问,把询问都挂到祖先的点上。

在每个点上以深度为点建立权值线段树,那么 \(v\) 的答案就可以转换为 \(v\) 的 \(k\) 级祖先 \(u\) 的线段树中深度为 \(dep_u+p\) 的点的数量 - 1(\(v\) 点本身需要减掉)。

CF600E Lomsat gelral

题目大意

给一棵 \(n\) 个点的以 \(1\) 为根的有根树,每个点有权值 \(c\)(\(c\in[1,n]\)),对于每个 \(i\in[1,n]\),求出以 \(i\) 为根的子树中出现次数最多的权值之和。

思路

以权值为点建立权值线段树,dfs时把子节点的线段树合并到父节点上,查一下次数最多的权值统计下答案。

P4556 [Vani有约会]雨天的尾巴 /【模板】线段树合并

题目大意

给一棵 \(n\) 个点的树,有 \(m\) 次操作,每次操作会在 \(x\) 到 \(y\) 这条链上发放 \(z\) 类型的物品。问 \(m\) 次操作后每个点存放最多的物品是哪种。

思路

用差分把每次操作变成树上差分,权值线段树以物品类型为点建立,答案就是每个点的最大值(记得记数量最多的物品的类型)。

P3224 [HNOI2012]永无乡

题目大意

有 \(n\) 个点,编号 \(1\) 到 \(n\),并有互不相同的排名。有两种操作:

  • B x y 表示连接点 \(x\) 和点 \(y\)。
  • Q x k 表示询问与 \(x\) 连通的点中第 \(k\) 重要的是哪个点。

思路

用并查集维护连通性,以排名为点建立权值线段树,直接操作就行。

射手座之日

题目大意

给一棵 \(n\) 个点的树和一个长度为 \(n\) 的排列。一个子区间的权值等于子区间中所有元素 LCA 的点权,求所有子区间的权值之和。

思路

image

标签:题目,个点,线段,笔记,权值,大意,思路
From: https://www.cnblogs.com/shiranui/p/17096781.html

相关文章

  • 前端面试题学习-个人总结笔记 Day 3 JS
    前端面试题学习-个人总结笔记Day3JS这是看别人总结的基础上再度总结的,总结的链接如下链接1.JS基本数据类型+内部属性[[Class]]+内置对象2.内置对象3.JS......
  • 【ctf权威竞赛指南笔记】1.CTF
    赛事介绍赛事起源CTF(CaptureTheFlag)中文译作夺旗赛,原为西方传统运动,两队人马互相前往对方的基地夺取旗帜。在网络空间安全领域被用来指代技术人员之间进行技术竞技的比......
  • mit 6.824 lab1 思路贴
    前言为遵守mit的约定,这个帖子不贴太多具体的代码,主要聊聊自己在码代码时的一些想法和遇到的问题。这个实验需要我们去实现一个map-reduce的功能。实质上,这个实验分为......
  • delphi FireDAC学习笔记
    以下内容均摘转载于【麦麦提敏】:https://www.cnblogs.com/karkash/   第一章 FireDAC数据库开发笔记 开发数据库应用应用程序第二章 FireDAC数据库开......
  • NIO学习笔记
    java的NIO的学习教程,网上一大把,本文只是学习的笔记。本文参考和复制如下内容:https://www.cnblogs.com/mikechenshare/p/16587635.htmlhttps://blog.csdn.net/K_520_W/art......
  • Java蓝桥杯实现线段和点
    目录一、算法提高线段和点1、时间限制2、问题描述3、输入格式4、输出格式5、数据规模和约定 一、算法提高线段和点 1、时间限制0s内存限制:256.......
  • 机器学习笔记:回归模型评估指标——MAE、MSE、RMSE、MAPE、R2等
    日常比赛中,常见两种类型:分类和回归。在回归任务中(对连续值的预测),常见的评估指标(metrics)主要包括:平均绝对误差MAE(MeanAbsoluteError)均方误差MSE(MeanSquareError)......
  • 接口测试概述笔记
    接口测试主要是测试系统组件间接口的一种测试,主要用于测试服务器与前端(web浏览器,APP)之间的数据交互接口。测试的重点是要检查接口参数传递的正确性,接口功能实现的正确性,......
  • Redis笔记(2): Linux服务器安装Redis
    1.下载  访问官网地址:Redis官网下载地址进行下载.2.上传安装包到Linux服务器并解压上传文件到/usr/local/src目录下解压安装包tar-zxvfredis-7.0.8.tar.gz查......
  • CMU15-445:Lecture #09 笔记
    Lecture#09:IndexConcurrencyControl本文是对CMU15-445课程第9节笔记的一个粗略总结和翻译。仅供个人(M1kanN)复习使用。目录Lecture#09:IndexConcurrencyCont......