线段4027 hdu

「学习笔记」线段树优化建图

在建图连边的过程中,我们时常会碰到这种题目,一个点向一段连续的区间中的点连边或者一个连续的区间向一个点连边,如果我们真的一条一条连过去,那一旦点的数量多了复杂度就爆炸了,这里就需要用线段树的区间性质来优化我们的建图了。 那棵线段树大概长这个样子。 ![线段树](https://images.cnbl ......
线段 笔记

线段树

# 线段树 线段树是一种二叉树形数据结构,用于解决区间查询和区间修改问题。它将一个数组划分为若干个连续的区间,每个区间对应线段树的一个节点。通过递归地构建线段树,我们可以在O(log n)的时间复杂度内完成区间查询和区间修改操作。 ## 原理 线段树的构建过程如下: 1. 将原数组划分为n个子区间, ......
线段

HDU 多校 Round #6 题解

# HDU 多校 Round #6 题解 $\text{By DaiRuiChen007}$ ## A. Count [Problem Link](https://acm.hdu.edu.cn/showproblem.php?pid=7336) **题目大意** > 求有多少个长度为 $n$,字符集 ......
题解 Round HDU

【学习笔记】线段树分治

定义 线段树分治是一种解决一类有插入、删除和整体查询操作的问题的方法。它是一种离线做法,通过在线段树上记录操作的时间区间来处理修改对询问的影响。每个操作被看作一个时间区间的修改,并在线段树上进行标记。然后通过深度优先搜索(DFS)依次执行这些操作,直到根节点来回答查询,并在离开时将其撤销。 题目 # ......
线段 笔记

线段树的一些延伸

## 一.动态开点线段树 虽然思路简单,但对于一个习惯数组写法的人,这是一个比较难受的东西。 动态开点一般是用来解决空间上的问题的。 一般来说,普通的线段树是直接将一颗完整的线段建出来,但如碰到数据范围大或卡空间的时候,我们就只能在我们需要的时候再建,这个就叫做动态开点。(类似于 trie) ### ......
线段

ABC245E Wrapping Chocolate [线段树二分]

[也许更好的阅读体验](https://blog.csdn.net/Morning_Glory_JR/article/details/132194133?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22% ......
线段 Chocolate Wrapping 245E ABC

线段树补充

## 线段树补充 ### 线段树维护矩阵和 #### 矩阵快速幂 和普通快速幂同理 ```cpp int M; struct matrix { ll x[M+1][M+1]; matrix() { memset(x,0,sizeof(x)); } }; matrix multiply(matrix ......
线段

HDU 5883 The Best Path

## [$HDU$ $5883$ $The$ $Best$ $Path$](http://vjudge.csgrandeur.cn/problem/HDU-5883) ### 一、题目大意 给你一个 **无向图**,**每个点有权值**,你要从某一个点出发,使得 **一笔画** 经过所有的路,且使得 ......
5883 Best Path HDU The

线段树合并学习笔记

## 基本思路 线段树合并其实就是简单的暴力合并就可以了。一般是运用于权值线段树。通常是在每个节点都需要要一颗线段树才能维护答案,且有多个节点时,会使用线段树合并。但每个节点所有的权值不能太多,如果都是比较满的二叉树的话,时间复杂度就会很高。 通常,加入值的数量跟节点数量在同一级别的话,时间复杂度是 ......
线段 笔记

李超线段树学习笔记

### 用途 李超线段树的用法非常固定,一般就是让你求对于给出的一些线段或直线中,对于某个x最大的y是那个。 通常可以用于斜率优化。 而其的时间复杂度是 $O(n\log n^2)$ ### 思路 注:下文默认是线段,因为直线也只用改一下就行了。 我们建立一颗线段树,每个节点保存在当前区间,当x=m ......
线段 笔记

HDU 3018 Ant Trip

##[$HDU$ $3018$ $Ant$ $Trip$](https://vjudge.net/problem/HDU-3018) ### 一、题目意思 有一个团队的人要去逛小镇,这个镇是无向图,然后规定每条路只能走一次,且两个小镇之间只有一条小路。(就避免了多条路径的问题。)然后这个图有可能有连 ......
3018 Trip HDU Ant

李超线段树

# Part 1:标记永久化 **一言以蔽之**:标记永久化就是不再下放标记,而是让标记永久地停留在线段树的节点上,统计答案时再考虑这些标记的影响 # Part 2:维护直线 我们以下面这道题为例子来进行讲解 ## [JSOI2008] Blue Mary开公司 ([题目传送门](https://w ......
线段

线段树合并

# Part 1:知识点 - ### 前置知识:动态开点线段树 - 线段树合并是一个递归的过程。我们合并两棵线段树时,用两个指针 $p,q$ 从两个根节点出发,以递归的方式**同步遍历**两棵线段树。 1.若 $p,q$ 之一为空,则以非空的那个作为合并的节点 2.若 $p,q$ 均不为空,则递归合 ......
线段

【模板】线段树

# 引入 ## 题目描述 给定$n$个数$a[1],a[2],a[3]...a[n]$,现在又下面两种操作: 1.询问区间$[x,y]$的和,并输出。 2.将下标为$x$的数增加$val$。 一共$x$此操作 $1\le n,m\le 100000$,保证在$int$范围内。 ### 方法一:暴力枚 ......
线段 模板

## HDU7328 Snake

## HDU7328 Snake ### tag: 容斥,生成函数 ### [题目链接](http://acm.hdu.edu.cn/showproblem.php?pid=7328) ### 题意: 1到n个数,分成m组,组队元素排列顺序不同则为不同的组,且每组元素个数不能超过k,问有多少种方案。 ......
Snake 7328 HDU

线段树

线段树 除了最后一层满二叉树,用堆(一维数组)来存树,一般来说,开4n的空间 ![线段树](D:\软件\Typora\Typora\笔记\示意图\线段树.png) #### build(int u, int l, int r) 将一段区间初始化为线段树 #### push up() 由子节点更新父节 ......
线段

HDU 暑假多校 2023 第六场

[TOC] ### 写在前面 补题地址:[https://acm.hdu.edu.cn/listproblem.php?vol=64](https://acm.hdu.edu.cn/listproblem.php?vol=64),题号 7336~7346。 哈哈,单刷 5 题,我是只会做套路题的飞舞 ......
2023 HDU

Even(23Nowcoder6.J)(二分+可持久化线段树)

### 题意: > 给定一个序列$a$,定义一次操作选择序列中一个元素$a[i]$, 使$a_i = \lfloor \frac{a_i}{2} \rfloor$,其中$a_i$为当前序列中的最大偶数,若没有则是最大奇数。 > > 有$q$组询问,每次给定$k, l, r$分别表示操作次数和操作区间 ......
线段 Nowcoder6 Nowcoder Even 23

#轮廓线dp#HDU 1400 Mondriaan's Dream

[题目传送门](https://acm.hdu.edu.cn/showproblem.php?pid=1400) # 分析 状压dp会TLE,考虑用轮廓线dp, 设 $dp[i][j][S]$ 表示现在处理到 $(i,j)$ 这个位置轮廓线上状态为 $S$ 的情况 二进制位为1表示左边或者上方有骨牌 ......
轮廓 Mondriaan Dream 1400 HDU

[Ynoi2012] NOIP2015 充满了希望(扫描线+线段树)

### [题目传送门](https://www.luogu.com.cn/problem/P5524) ## solution 简单题。 我们正着做扫描线。 设 $t_i$ 表示位置 $i$ 最后一次进行二操作的时间,那么一操作就是交换 $t_x,t_y$ ,二操作就是区间复制。 对于三操作,开一个 ......
扫描线 线段 Ynoi 2012 NOIP

矩阵,分治,线段树。 (其一)

## 矩阵 我一向对矩阵是深恶痛绝的,难写是一点,更多是因为我总觉得发明矩阵的人觉得自己很酷。 (矩阵这玩意总是让我想不清楚本质 以至于我总想着以某些方法代替矩阵,以前喜欢用分治,那时认为矩阵的本质是分治,但是分治这玩意写出来奇丑无比,今天既然见到题解有类似的实现,便顺便梳理一下, 希望有更深的理解 ......
线段 矩阵

Limit线段树题单题解(更新中)

## [P3373 线段树模板 2](https://www.luogu.com.cn/problem/P3373) ![image-20230803010844370](https://zeoy-typora.oss-cn-hangzhou.aliyuncs.com/image-202308030 ......
线段 题解 Limit

HDU 多校 2023 Round #5 题解

# HDU 多校 2023 Round #5 题解 $\text{By DaiRuiChen007}$ ## A. Typhoon [Problem Link](https://acm.hdu.edu.cn/showproblem.php?pid=7324) **题目大意** > 给一条 $n$ 个 ......
题解 Round 2023 HDU

【复健】线段树

## 线段树复健 OJ 上的题还没做完,下午再说(你 ### 概念 一种**二叉搜索树**,通过二叉树形结构储存数据,能够解决大部分与**区间操作**有关的问题,当然应用范围不止于区间操作。 原理是用二分(?)维护一定的区间。 ### 主体部分实现 #### 建树 考虑递归建树,一直二分直到只剩一个 ......
线段

[HEOI2013] Segment李超线段树

RT 感觉会模板就差不多了,可用作处理一些线段或直线的问题,转化过来的也可以。比如DP的斜率优化,直线的话只用一个log,线段要两个log。 [[HEOI2013] Segment](https://www.luogu.com.cn/problem/P4097 "[HEOI2013] Segment ......
线段 Segment HEOI 2013

HDU7331 另解

$$ \begin{aligned} ANS&=\sum_{i=1}^n\binom{n}{i}p^i(1-p)^{n-i}\left(\sum_{j=1}^ij^m\right)& p=\frac{a}{b}\\ &=\sum_{j=1}^nj^m\sum_{i=j}^n\binom{n}{i}p ......
7331 HDU

HDU1151—Air Raid(最小路径覆盖)

## [【$HDU1151$】—$Air$ $Raid$(最小路径覆盖)](http://acm.hdu.edu.cn/showproblem.php?pid=1151) - 题解描述 给定一个$DAG$(有向无环图),选定最少的点,使得从这些点出发可以覆盖每一条路径(即每个点都经过至少一遍)。 * ......
路径 1151 Raid HDU Air

线段树

> 「观前提醒」 > > 「文章仅供学习和参考,如有问题请在评论区提出」 [toc] ## 引入 **线段树(Segment Tree)**是算法竞赛中常用的用来维护区间信息的数据结构。 线段树可以在 $O(logN)$ 的时间复杂度内实现**单点修改、区间修改、区间查询**等操作。能够用来维护很多 ......
线段

线段树

这是洛谷线段树模板题绿标题,线段树好像没什么好总结的,主要看脑子 1 #include<iostream> 2 using namespace std; 3 #define int long long 4 const int N = 1e5 + 10, inf = 0x3f3f3f3f3f3f3f3 ......
线段

hdu7319 String and GCD

[String and GCD](https://acm.hdu.edu.cn/showproblem.php?pid=7319) 首先我们需要用kmp的fail建树,然后需要利用到欧拉反演。 $$n=\sum_{d|n} \varphi(d)$$ 对于这题来说 $$(i,j)=\sum_{d|(i ......
String 7319 hdu GCD and