线段459579152 zhuanlan atcoder

线段树合并

## 基本思路 线段树合并其实就是简单的暴力合并就可以了。一般是运用于权值线段树。通常是在每个节点都需要要一颗线段树才能维护答案,且有多个节点时,会使用线段树合并。但每个节点的权值不能太大。 ## 具体代码 其实代码理解了之后就是非常简单的了。 ```cpp #include using names ......
线段

AtCoder Beginner Contest 161

# AtCoder Beginner Contest 161 https://atcoder.jp/contests/abc161 这套不算难,但是sb我还是写不出来是为什么呢 F是个妙妙题 ## C - Replacing Integer WA了一次所以放上来 ```CC #include #de ......
Beginner AtCoder Contest 161

AtCoder Beginner Contest 309 Ex Simple Path Counting Problem

[洛谷传送门](https://www.luogu.com.cn/problem/AT_abc309_h "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/abc309/tasks/abc309_h "AtCoder 传送门") 挺妙的题。 考虑 ......
Beginner Counting AtCoder Contest Problem

线段树进阶拓展

# 前言 进军数据结构! 前置知识:[权值线段树](https://www.luogu.com.cn/blog/bloodstalk/shuo-ju-jie-gou-quan-zhi-xian-duan-shu),但好像我这篇写的不咋地,所以建议网上搜一搜,其实会动态开点就行了,这个也很容易学。 这 ......
线段

AtCoder Grand Contest 012 D Colorful Balls

[洛谷传送门](https://www.luogu.com.cn/problem/AT_agc012_d "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/agc012/tasks/agc012_d "AtCoder 传送门") 不错的题。bx E ......
Colorful AtCoder Contest Grand Balls

大型线段树 - 知识点梳理

# 可持久化线段树 可持久化数据结构可以通过不断重复利用节点,在高效且省空间的情况下建立及存储普通数据结构的多个历史版本并进行查询。因为存在时间轴,因此有时可搭配离线算法使用。 ## 实现方法 _所有树形数据结构的可持久化处理都和这个差不多_ 普通的线段树长这样: ![](https://cdn.l ......
线段 知识点 知识

线段树模板 洛谷P3374 【模板】树状数组 1

题目传送门 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入格式 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含3个整数,表示 ......
模板 线段 数组 P3374 3374

AtCoder Regular Contest 164 E Segment-Tree Optimization

[洛谷传送门](https://www.luogu.com.cn/problem/AT_arc164_e "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/arc164/tasks/arc164_e "AtCoder 传送门") 妙妙题。 我们考虑 ......

Atcoder ABC 309 F

# [Atcoder ABC 309 F](https://atcoder.jp/contests/abc309/tasks/abc309_f) ## 题意 n个盒子,长宽高为$x,y,z,$(长宽高是相对的,可以任意调换),问是否有一个盒子可以完全容纳另一个盒子,即存在一个$A_i={x_i,y_ ......
Atcoder ABC 309

【做题笔记】线性dp——线段树优化

**线段树优化是用来对于$DP$数组区间赋值的。** 主要是区间取最值 来优化线性dp 真没什么可写的了 挂两个题目: [P4644 [USACO05DEC] Cleaning Shifts S](https://www.luogu.com.cn/problem/P4644 "P4644 [USAC ......
线段 线性 笔记

AtCoder Beginner Contest 309 G Ban Permutation

[洛谷传送门](https://www.luogu.com.cn/problem/AT_abc309_g "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/abc309/tasks/abc309_g "AtCoder 传送门") 前置知识:[[AR ......
Permutation Beginner AtCoder Contest 309

atcoder绿题选做

ABC305:E https://atcoder.jp/contests/abc305/tasks/abc305_e 题意:给定一个无向图,给定k个守卫,每个守卫有h[i]的耐力值,如果是一个在图中是被保护的要满足和守卫的距离至少为h[i],让你升序打印所有被守卫的点 解题思路:可以从守卫出发,看守 ......
atcoder

【线段树】【leetcode 729. 我的日程安排表 I】

class MyCalendar { class Seg { int l; int r; boolean val; Seg left; Seg right; public Seg(int x, int y) { this.l = x; this.r = y; this.val = false; th ......
线段 安排表 日程 leetcode 729

atcoder总结

### ABC126E: 把 $Z_i$ 看成 $a_{Z_i}$了 `terrible` ### ABC[126F](https://www.luogu.com.cn/problem/AT_abc126_f) 一对数对另一数的贡献:可以看出来只有这种情况 $...aba...$ $a$把一个 $b ......
atcoder

线段树 算法笔记

已知一个长度为 $n$ 的序列 $a$,共有 $m$ 次操作,每次操作如下: - 将某区间每一个数加上 $k$。 - 求出某区间每一个数的和。 [Luogu - P3372 【模板】线段树 1](https://www.luogu.com.cn/problem/P3372) 之前学过一个算法叫做[树 ......
线段 算法 笔记

Atcoder ABC308H Make Q

考虑枚举唯一一个度数为 $3$ 的点 $u$,即既在环上又与非环上一点相连的那个点。 接下来考虑先处理环,那可以先把 $u$ 从图上删掉,环的最短距离便是与 $u$ 有连边的 $2$ 个点在图上最短路长度加上 $2$ 个点与 $u$ 连边的长度,即 $\min\{w_{u, i} + w_{u, j ......
Atcoder 308H Make ABC 308

AtCoder Beginner Contest 308

vp做四道 ## E. MEX [E - MEX (atcoder.jp)](https://atcoder.jp/contests/abc308/tasks/abc308_e) ### 题意 给定一个字符串,其中每个字符都有一个权值,找到所有满足$s_is_js_k=$`MEX`的三元组$(i,j ......
Beginner AtCoder Contest 308

线段树

###代码思路 ####主体部分: 初始化,修改,查询 (即build,update,query三个函数) ####辅助部分: 区间值维护,打懒标记,消懒标记 (即push_up,add_tag,push_down三个函数) ####简化部分: 自定义数据类型,左右儿子自助计算 (struct Tr ......
线段

AtCoder Beginner Contest 308 Ex Make Q

[洛谷传送门](https://www.luogu.com.cn/problem/AT_abc308_h "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/abc308/tasks/abc308_h "AtCoder 传送门") 这是官方题解的 $ ......
Beginner AtCoder Contest Make 308

Atcoder ARC164B Switching Travel

称 $c_u \not= c_v$ 的边 $(u, v)$ 为普通边,$c_u = c_v$ 的边 $(u, v)$ 为特殊边。 能发现若满足条件则这个环应该是由一条特殊边和若干条普通便组成的(从特殊边的一个顶点出发一直经过普通边,最后走到特殊边的另一个顶点再走回来)。 于是若这个特殊边的两个顶点能 ......
Switching Atcoder Travel 164B ARC

线段树练习

## 1.OJ 30277 nand 不难发现 $nand$ 运算是有结合律的,考虑线段树。 以元素的编号作为下标建一颗线段树 难点在于线段树节点信息 $Push\_Up$ 操作。 记操作 $2, l, r$ 为 $Q (l, r)$,$bak[0/1]$ 分别记录 $a_{l} nand a_{i ......
线段

线段树学习笔记与总结

线段树学习笔记与总结 [toc] # 线段树 ## 引入 我们经常会遇到需要维护一个序列的问题,例如给定一个整数序列,每次操作会修改序列某个位置上的数,或是海间你序列巾某个区问内所有数的和,用“暴力"算法,单点修改的复杂度为 $O(1)$,询问区间和的单次复杂度为 $O(N)$。用前缀和算法,询问区 ......
线段 笔记

线段树

​ # 普通线段树 ~~~cpp const int N = 2e5 + 10; int a[N]; struct info { int sum, maxx, minn; }; struct node { int lazy, len; info val; } seg[N > 1; build(id ......
线段

AtCoder Beginner Contest 309 ABCDE

# [AtCoder Beginner Contest 309](https://atcoder.jp/contests/abc309) ## **A - Nine** ### Problem Statement 题意:给你两个数问你是否在图上是相邻的。 ### Solution 思路:按照图写下关 ......
Beginner AtCoder Contest ABCDE 309

AtCoder Regular Contest 164 (A-C)

#A. Ternary Decomposition *思维难度其实可以作为第二题* >##思路 先考虑最优情况下需要多少个数来组成(不够就 No) 在考虑全部为1的情况下是否可行( N ###完整代码 ```cpp #include using namespace std; #define ll l ......
AtCoder Regular Contest 164 A-C

AtCoder Regular Contest 162

# Preface 补题,这样一来军训这段时间口胡的题目就都写完了,后面空余的时间就优先做学校要求的专题了(主要是几何,因为字符串已经基本做完了) 唉现在的计数水平说实话练了这么多还是没有太大长进,有些巧妙的地方就是想不过去,所以打Atcoder就会很难受 不过相信多练总比不练好,可能到时候需要专门 ......
AtCoder Regular Contest 162

Atcode Beginner Constest 309 E

e题的题意又理解错了( ## E. Family and Insurance ### 题意 给定一棵或者若干棵树,以及$m$次操作。每次操作将一个节点后面几层的儿子节点的权值加1,求最后有多少节点的权值至少为1。 ### 思路 设$dp[i]$为节点$i$后面有几个节点被覆盖,若没有覆盖为-1。DF ......
Beginner Constest Atcode 309

【学习笔记】李超线段树

# 维护一次函数 以 [模板题](https://www.luogu.com.cn/problem/P4097) 为例。 使用线段树维护线段,每个节点维护的都是完全覆盖这个区间的线段。 考虑当前节点已经有线段 $f$,现在加入线段 $g$。 暴力想法是暴力递归每个子区间,把更优的保留,注意到 $f, ......
线段 笔记

Atcoder ARC159C Permutation Addition

设 $s=\sum\limits_{i = 1}^n a_i$,考虑加上排列 $p$,那么 $s\leftarrow s + \frac{n\times (n + 1)}{2}$。 当有解时,因为 $a_i$ 相等,所以有 $s\bmod n = 0$。 考虑 $n \bmod 2 = 1$ 时,$ ......
Permutation Addition Atcoder 159C ARC

AtCoder Beginner Contest 307

A: 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<iostream> 5 #include<string> 6 #include<vector> 7 #include<stack> 8 #includ ......
Beginner AtCoder Contest 307