线段tjoi 2007

线段树练习

# Ⅰ.差分与前缀和 ## P2184 贪婪大陆 **题意** :给定防线长度 $n$ 和操作次数 $m$, 每次在 [$l$ ,$r$] 内布下一种雷,查询区间雷的种类数。 **分析** : 用线段的方式表示区间布的雷 : ![](https://cdn.luogu.com.cn/upload/i ......
线段

李超线段树

李超线段树 李超线段树是一种求函数定点最值的线段树,思路高妙,用处也很广。 以模板题为例。 P4097 [HEOI2013] Segment 有 \(n\) 个操作,操作分两种。 在平面上加入一条线段,两端端点为 \((x_0,y_0)\) 和 \((x_1,y_1)\),第 \(i\) 条被插入的 ......
线段

P4093 [HEOI2016/TJOI2016] 序列 题解

题目链接:序列 对于 LIS 问题,很显而易见的有 dp方程为: \[dp_i=\max{dp_j}+1 \ (j<i,a_j \le a_i) \text{ dp表示以某个位置结尾的最长 LIS} \]本题考虑到对于转移的两位置,如果能从 \(j \rightarrow i\),那么在以上条件成立 ......
题解 2016 序列 P4093 4093

P3870 [TJOI2009] 开关

原题链接 题记 就是线段树,不过树和延迟标记有点绕 code #include<bits/stdc++.h> using namespace std; struct SegmentTree { vector<int> tree, lazy;//tree代表这个节点开着灯的数量,lazy代表这个节点是 ......
P3870 3870 2009 TJOI

数据结构 - 线段树学习笔记

前言 果果终于讲线段树了 线段树太 TM 好用啦! But,强大的功能是需要码量来实现的。 定义 线段树是一种储存了一个序列的区间信息,并在各个区间中建立了关联的数据结构。 对于任意一个序列都可以建出它的线段树。 它是一颗完全二叉树,它的每一个节点都是一个区间。 对于每一个节点,其左儿子节点为这段区 ......
线段 数据结构 结构 笔记 数据

浅谈几类线段树、树状数组优化 DP

本文主要介绍几类线段树和树状数组优化动态规划的方法。 本文的理论部分比较简单,所以主要以题目讲解为主。 这是本蒟蒻的第一篇日报,如有问题,请指出,感谢。 Part 0. 前置知识 动态规划 线段树 Part 1. 属性在一个区间的进行转移 这是讨论的是形如 \(f_i=Y(i)+\max\limit ......
线段 数组 DP

P6370 [COCI2006-2007#6] KAMEN 题解

题目 神奇模拟题。最直接的做法就是每个石头暴力向下滚,有 \(60\) 分。但是大样例跑了 \(15s\)。稍微观察一下,会发现很多次循环都是在重复向下走到一格空位上,于是考虑优化:用 set 维护每一列的那些位置有障碍(包括石头),每次直接 lower_bound 跳到下一个位置,会快很多,大样例 ......
题解 P6370 KAMEN 6370 2006

P3464 [POI2007] WAG-Quaternary Balance 题解

数位DP。 首先分析下题目,将 \(n\) 表示成一些 \(4^k\) 的数之和/差的形式 ,就可以理解为一个天平,\(n\) 放在左边,可以选一些数值为 \(4\) 的幂的砝码,放左/右都行,在让天平平衡,求方案数。 \(4^k\) 很容易联想到四进制,于是考虑把 \(n\) 转换为四进制后进行数 ......

线段树

线段树 引入 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构。 线段树可以在 \(O(\log N)\) 的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。 线段树 线段树的基本结构与建树 过程 线段树将每个长度不为 \(1\) 的区间划分成左右两 ......
线段

P4402 [Cerc2007] robotic sort 机械排序题解

题目链接:[Cerc2007] robotic sort 机械排序 前置知识点:文艺平衡树 具体的我们会将序号下标作为平衡树的键值,这样一来每个节点其实就是数组中的每个位置,又因为这个位置是具有有序性的,所以我要找某个位置的当前值是可以在树上二分出来的,同时考虑平衡树的一段子树打翻转标记,交换左右子 ......
题解 robotic 机械 P4402 4402

P3372 【模板】线段树 1

原题链接 题后感 码量也太大了吧 小记 题解网上有,但是有关这个lazytag我要提一嘴,我建议不要记它,你只需知道修改的区间没有整体破坏时,其内部的元素内容暂不做修改 code 码量真大 #include<bits/stdc++.h> #define ll long long using name ......
线段 模板 P3372 3372

P10009 [集训队互测 2022] 线段树 题解

题目链接:P10009 [集训队互测 2022] 线段树 神仙分块题,先给一下出题人的神仙官解:官解 前面还看得懂。后面是啥?这不是 ds 题咋和 dp、轮廓线扯上关系了。看了半天,还是这个启发了我: 其手玩下,在 Excel 里写一下,可以理解到这里其实是想表达的一个核心意思是啥:对于一组序列而言 ......
集训队 线段 题解 P10009 10009

Rust实现线段树和懒标记

参考各家代码,用Rust实现了线段树和懒标记。 由于使用了泛型,很多操作都要用闭包自定义实现。 看代码。 // 线段树定义 pub struct SegmentTree<T: Clone> { pub data: Vec<T>, tree: Vec<Option<T>>, marker: Vec<T ......
线段 标记 Rust

线段树笔记

例\(1\) 题目描述 给定一个长为\(n\)的序列,有\(m\)次操作,每次操作为以下三种之一。 修改序列中的一个数 求序列中某连续一段所有数的两两乘积的和\(\text{mod} 1000000007\)。 求序列中某连续一段所有相邻两数乘积的和\(\text{mod} 1000000007\) ......
线段 笔记

【模板】李超线段树 / [HEOI2013] Segment

李超线段树是一种用于维护平面直角坐标系内线段关系的数据结构,插入直线/线段,支持查询单点极值 李超树的经典应用是斜率优化,可以看下这篇文章 李超线段树没有用懒标记实现区间修改,而用的是标记永久化 其实标记永久化与我们对lazy标记的理解非常相同,可以看看LYD蓝书上对标记永久化的解释,都是累积某个节 ......
线段 模板 Segment HEOI 2013

《生物信息学算法导论》是2007年化学工业出版社出版的图书,作者是(美)N.C.琼斯 ,(美)P.A.帕夫纳。

目前,可供本科学生使用的生物信息学著作为数不多,本书恰恰是其中的一本。国内生物信息学,计算生物学、计算数学等领域的本科生、研究生和其他研究人员,会从书中汲取基本的算法原理、解决实际问题的方法和技巧,进而更好地从事相关研究工作。 目录 播报 编辑 1 绪论 2 算法与复杂性 2.1 算法是什么? 2. ......
导论 算法 出版社 化学 生物

P2144 [FJOI2007] 轮状病毒

P2144 [FJOI2007] 轮状病毒 Problem 一个 \(n\) 轮状基由圆环上 \(n\) 个不同的基原子和圆心的一个核原子构成。\(2\) 个原子之间的边表示这 \(2\) 个原子之间的信息通道。 \(n\) 轮状病毒的产生规律是在 \(n\) 轮状基中删除若干边,使各原子之间有唯一 ......
病毒 P2144 2144 2007 FJOI

lazy线段树模板

import java.io.*; import java.util.*; public class Main { static int N = (int)1e5+10; static long[] arr = new long[N]; static long[] sum = new long[N< ......
线段 模板 lazy

线段树板子

package ICPC; import java.util.*; import java.math.*; import java.io.*; import java.text.DecimalFormat; import java.text.NumberFormat; class node{ int ......
线段 板子

线段树 2

由于有两个操作,我们要对乘法和加法设置一个优先级 我们来看看先乘后加,lazy2表示乘数,lazy1表示加数(前者初始值为\(1\),后者初始值为\(0\)) 根据我们对lazy的理解,一个节点的和的真实值,为这个节点到根节点的路径中,对每一个节点依次先乘lazy2再加lazy1得到的最终结果 假设 ......
线段

线段树例题

目录线段树例题P3372 【模板】线段树 1题目描述解题思路CodeP3373 【模板】线段树 2题目描述解题思路CodeP6492 [COCI2010-2011#6] STEP题目描述解题思路CodeP2184 贪婪大陆题目描述解题思路CodeP4588 [TJOI2018] 数学计算题目描述解题 ......
线段 例题

线段上离p最近的点 - 投影方式

判断依据 1) 投影结果<0,则线段端点a离p最近 2) 投影结果>线段ab的长度,则线段端点b离p最近 3) 否则p在线段上的垂点为最近点 p与ab不共线时 1) p在线段两侧 2-a) p在线段内侧 2-b) p在线段内侧2 p与ab共线时 1) p在线段两侧 2-a) p在线段内侧 2-b) ......
线段 方式

动态开点线段树如何开空间

昨天模拟赛开小了导致 \(100\to 70\) 沦为暴力同分。遂记之。 单点修改 \(m(\log V+\delta)\)。 区间修改 \(2m(\log V+\delta)\)。注意这个 \(2\),就很灵性啊。(欸真的是 \(2\) 嘛) 关键在于 1G 空间用了 200M 还乱开小空间的行为 ......
线段 动态 空间

吉司机线段树

\(mxb\) 为历史最大值,\(tg1,tg2,tg3,tg4\) 分别对应最大值真实 \(tag\) ,其他值真实 \(tag\) ,最大值最大 \(tag\) ,其它值最大 \(tag\) #include<bits/stdc++.h> using namespace std; #define ......
线段 司机

[Ynoi2007]rfplca/[CF1491H] Yuezheng Ling and Dynamic Tree

题目描述 给定一棵大小为 \(n\) 的 \(1\) 为根节点的树,树用如下方式给出:输入 \(a_2,a_3,\dots,a_n\),保证 \(1\leq a_i<i\),将 \(a_i\) 与 \(i\) 连边形成一棵树。 接下来有 \(m\) 次操作,操作有两种: 1 l r x 令 \(a_ ......
Yuezheng Dynamic rfplca 1491H Ynoi

线段树与历史最值和区间最值问题

线段树与历史最值问题 P4314 CPU 监控 Description 给定数组 \(\{a_i\}\),维护以下操作。定义一个辅助数组 \(\{b_i\}\),每次操作完后令 \(b_i=\max(a_i,b_i)\)。 查询 \(\max_{i=l}^{r} a_i\)(区间最值) 查询 \(\ ......
线段 区间 问题 历史

P1129 [ZJOI2007] 矩阵游戏 建模部分

link 题解没一个说为什么能用最小割的...(当然可能是只有我不知道) 设交换后行、列数相同的第 \(x\) 行和第 \(y\) 列(\(x,y\) 为原始位置),发现它们的交点现在位于 \((i,i)\),原来位于 \((x,y)\)。因为无论怎么交换位置,原来的交点仍是交点。 所以可以得出一个 ......
矩阵 部分 P1129 1129 2007

P3964 [TJOI2013] 松鼠聚会

经典结论题。但是我不会 题意:给出 \(n\) 个点 \((x_i,y_i)\),求出 \(\min_{i=1}^n \sum_{j=1}^n \max(|x_i-x_j|,|y_i-y_j|)\)。 \(\max(|x_i-x_j|,|y_i-y_j|)\) 为两点间的切比雪夫距离,\(|x_i- ......
松鼠 P3964 3964 2013 TJOI

P7446 [Ynoi2007] rfplca题解

P7446 [Ynoi2007] rfplca 可以用分块维护,记 $ b_i $ 表示这个块中第一个 \(a_i\) 不在块中的值 区间修改: 对于散块,直接暴力重构 对于整块,发现 \(b_i\) 所属点最多只会改变 \(\sqrt n\) 次,所以也暴力重构 查询: 考虑像倍增一样的过程,先把 ......
题解 rfplca P7446 7446 2007

syoj.1827. 线段传送带题解

前情提要-三分 1827. 线段传送带 P2571 [SCOI2010] 传送带 省流:三分套三分。 在二维平面上有两个传送带,一个从 A 点到 B 点,一个从 C 点到 D 点,速度分别是 p 和 q,在平面内其他点的速度为 r。求 A 点到 D 点的最小速度。 考虑从 A 到 D 的路程一定是 ......
线段 题解 传送带 syoj 1827
共484篇  :1/17页 首页上一页1下一页尾页