技术栈
线段树
CUC-MenG
3 天前
数学
·
线段树
·
高精度
·
模拟
·
dp
·
红黑树
·
线性dp
·
平衡树
·
线段树维护矩阵
2025杭电多校第八场 最有节目效果的一集、最自律的松鼠、最甜的小情侣、最努力的活着 个人题解
注意到本题给的\(1\leq n\leq 1e 12\),因此需要使用\(\_\_int 128\)(最大可以存\(2^{128}\))来提高精度
CUC-MenG
5 天前
数学
·
线段树
·
差分
·
扫描线
·
二维数点
·
区间最值
2025杭电多校第七场 矩形框选、伤害冷却比 个人题解
令\(a=\frac{K}{N}\),则有\(f(x)=x\left( \left\lfloor \frac{a}{x} \right\rfloor +1\right)\) 大致画出图像,可得下图
惆怅客123
12 天前
线段树
·
icpc
·
uva
·
动态开点
·
“前缀”思想
UVa1480/LA5034 Jewel
本题是2010年icpc亚洲区域赛天津赛区的J题Jimmy买了很多颗大小互不相同的珠子用来穿成项链送给他的女朋友,初始时项链是空的。Jimmy会进行4种操作:
ReineRabbit
17 天前
线段树
·
codeforces
·
中位数
重生之 CF2126G2. Big Wins! (hard version)
本题没有限制\(\text{ a[i]}\) 的大小,也就是没有限制 \(med\) 的大小。第一个想法是枚举 \(\text{min}\) 值,对每一个 \(a_i = min\) 的位置用单调栈或者笛卡尔树计算能保持最小值的 \(l_i\) 和 \(r_i\) ,然后我们考虑这个区间内的 \(med\),复杂度为 \(O(n^2 \log n)\) 。
keysky
2 个月前
线段树
·
slope trick
·
数形结合
「ABC 406 G」Travelling Salesman Problem
本题笔者使用了两种方法来做,一是 \(\text{Slope trick}\) ,二是线段树,皆有讲解,各位读者按需食用。
pystraf
3 个月前
数据结构
·
c++
·
算法
·
线段树
·
洛谷
LG P9844 [ICPC 2021 Nanjing R] Paimon Segment Tree Solution
给定序列 a = ( a 1 , a 2 , ⋯ , a n ) a=(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an),有 m m m 次修改 ( l , r , v ) (l,r,v) (l,r,v):
pystraf
3 个月前
数据结构
·
算法
·
线段树
·
洛谷
P2572 [SCOI2010] 序列操作 Solution
给定 01 01 01 序列 a = ( a 1 , a 2 , ⋯ , a n ) a=(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an),并定义 f ( l , r ) = [ ( ∑ i = l r a i ) = r − l + 1 ] f(l,r)=[(\sum\limits_{i=l}^r a_i)=r-l+1] f(l,r)=[(i=l∑rai)=r−l+1]. 执行 m m m 个操作,分五种:
pystraf
4 个月前
数据结构
·
c++
·
算法
·
线段树
UOJ 228 基础数据结构练习题 Solution
给定序列 a = ( a 1 , a 2 , ⋯ , a n ) a=(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an),有 m m m 个操作分三种:
GEEK零零七
4 个月前
算法
·
leetcode
·
线段树
·
并查集
Leetcode 2158. 每天绘制新区域的数量【Plus题】
有一幅细长的画,可以用数轴来表示。 给你一个长度为 n 、下标从 0 开始的二维整数数组 paint ,其中 paint[i] = [starti, endi] 表示在第 i 天你需要绘制 starti 和 endi 之间的区域。
pystraf
4 个月前
数据结构
·
c++
·
算法
·
线段树
·
洛谷
P10587 「ALFR Round 2」C 小 Y 的数 Solution
定义由 42 42 42 为初始数,朝后依次拼接 4 , 2 4,2 4,2 的数为 好数. 给定序列 a = ( a 1 , a 2 , ⋯ , a n ) a=(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an),有 m m m 个操作分四种:
pystraf
5 个月前
数据结构
·
c++
·
算法
·
线段树
·
洛谷
P8310 〈 TREEのOI 2022 Spring 〉Essential Operations Solution
给定序列 a = ( a 1 , a 2 , ⋯ , a n ) a=(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an),有 m m m 个操作分四种:
pystraf
5 个月前
数据结构
·
c++
·
算法
·
线段树
洛谷 P10463 Interval GCD Solution
给定序列 a = ( a 1 , a 2 , ⋯ , a n ) a=(a_1,a_2,\cdots,a_n) a=(a1,a2,⋯,an),有 m m m 个操作分两种:
L_M_TY
5 个月前
数学
·
算法
·
线段树
·
gcd
D. Bash and a Tough Math Puzzle
题目链接:Problem - 914D - Codeforces题目大意:给你长度为n的数组, 然后q次查询,有两种选择
keysky
7 个月前
线段树
·
堆
·
树链剖分
「SPOJ2666」QTREE4 - Query on a tree IV
对一棵树维护两种操作:翻转某个点的颜色,求 \(max\{ dist_{u, v} \}\) 且满足 \(u\) 的颜色和 \(v\) 的颜色都是白色( \(u,v\) 可以相同)。
不想当程序猿_
8 个月前
c++
·
算法
·
蓝桥杯
·
线段树
·
模拟
【蓝桥杯每日一题】扫描游戏——线段树
蓝桥杯每日一题 2024-12-13 扫描游戏 线段树 模拟有一根围绕原点 O 顺时针旋转的棒 O A OA OA ,初始时指向正上方 (Y 轴正向)。 在平面中有若干物件, 第 i 个物件的坐标为 ( x i , y i ) (x_i,y_i) (xi,yi), 价值为 z i z_i zi 。当棒扫到某个 物件时, 棒的长度会瞬间增长 z i z_i zi, 且物件瞬间消失(棒的顶端恰好碰到物件也 视为扫到), 如果此时增长完的棒又额外碰到了其他物件, 也按上述方式消去 (它和上述那个点视为同时消失)
XuYueming
9 个月前
数学
·
线段树
·
题解
·
单调栈
·
洛谷
·
扫描线
·
二维数点
·
部分分
·
概率 & 期望
[NOIP2022] 比赛 随机排列 部分分
看到最大值,考虑使用单调栈搞出 \([la_i, ra_i], [lb_i, rb_i]\) 表示这一段区间 \(i\) 是 \(a, b\) 的最大值。预处理是简单的。
summ1ts
10 个月前
数据结构
·
c++
·
算法
·
线段树
·
动态规划
·
图论
·
noip2023
NOIP2023题解
有一个好猜的结论:对于一个字符串,若它当中的最小字符大于等于某其他字符串中的最大字符,那么这个字符串一定不可行。
ganjiee0007
1 年前
算法
·
leetcode
·
线段树
leetcode|刷算法 线段树原理以及模板
线段树使用的题目。每次操作都要得到返回结果的。比如699. 掉落的方块 - 力扣(LeetCode)2286. 以组为单位订音乐会的门票 - 力扣(LeetCode)
闻缺陷则喜何志丹
1 年前
c++
·
算法
·
线段树
·
力扣
·
求和
·
数组
·
查询
【线段树】2569. 更新数组后处理求和查询
C++线段树给你两个下标从 0 开始的数组 nums1 和 nums2 ,和一个二维数组 queries 表示一些操作。总共有 3 种类型的操作: 操作类型 1 为 queries[i] = [1, l, r] 。你需要将 nums1 从下标 l 到下标 r 的所有 0 反转成 1 并且所有 1 反转成 0 。l 和 r 下标都从 0 开始。 操作类型 2 为 queries[i] = [2, p, 0] 。对于 0 <= i < n 中的所有下标,令 nums2[i] = nums2[i] + nums
Qres821
1 年前
线段树
·
sam
·
trie
·
树剖
8.22 万灵药(SAM + Trie + 树剖 + 线段树)
http://cplusoj.com/d/senior/p/479?tid=66c55d60c098fe0f6786d470