线段459579152 zhuanlan atcoder

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

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

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

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

nfls15095 Atcoder-abc123_d 蛋糕

Atcoder-abc123_d AT 小卖部从下学期开始售卖带有数字形状的蛋糕,$X$,$Y$ 和 $Z$ 种蛋糕分别带有 $1$ 形,$2$ 形和 $3$ 形蜡烛,而且每个蛋糕都有美味值,如下所示: - 带有 $1$ 形蜡烛的美味值有: $A_1,A_2,\cdots,A_X$ - 带有 $2$ ......
Atcoder-abc 蛋糕 Atcoder 15095 nfls

【复健】线段树

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

[HEOI2013] Segment李超线段树

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

Practice on Codeforces and Atcoder in July

## [$1844E$](https://codeforces.com/problemset/problem/1844/E) 题意: 定义一个矩形 $a$ 是好的,当且仅当其满足以下条件: 1. 矩形中每一个元素 $x$ 都为 $A,B,C$ 其中之一 2. 每一个 $2\times 2$ 的子矩形 ......
Codeforces Practice Atcoder July and

Practice on Codeforces and Atcoder in June

# $Practice$ $on$ $codeforces$ $in$ $June$ wk,误删了4个题,但我不想补了 ## [$CF1839D$](https://codeforces.com/contest/1839/problem/D) 题意:给一个正整数序列 $a$,给定 $k$ 个 0,将 ......
Codeforces Practice Atcoder June and

Practice on Codeforces and Atcoder in May

# CF补题题解2023.5 说明:CF题直接去luogu看翻译,AT题会附上简要题意 ## [CF1821E](https://codeforces.com/contest/1821/problem/E) 先考虑如何高速计算权值 一个显而易见的贪心是尽量在右边取括号消除,设右括号为 1,左括号为 ......
Codeforces Practice Atcoder May and

UNIQUE VISION Programming Contest 2023 Summer(AtCoder Beginner Contest 312)

# Preface 最唐氏的一集,尽情欣赏ABC E题战俘的丑态 这场打的时候就很抽象,各种傻逼错误频发,从B题一路WA到G题 还好发现E后面的题更简单后马上把FG写了,不然要爆炸了 # A - Chord 签到 ```cpp #include #include #include #include ......
Contest Programming Beginner AtCoder UNIQUE

AtCoder Beginner Contest 165

# AtCoder Beginner Contest 165 https://atcoder.jp/contests/abc165 ## C - Many Requirements dfs ```CC #include using namespace std; const int N = 15, M ......
Beginner AtCoder Contest 165

AtCoder Beginner Contest 312

# A - Chord ```cpp #include using namespace std; int32_t main() { ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr); string s; cin >> s ......
Beginner AtCoder Contest 312

线段树

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

[UNIQUE VISION Programming Contest 2023 Summer(AtCoder Beginner Contest 312) - AtCoder](https://atcoder.jp/contests/abc312)

# [UNIQUE VISION Programming Contest 2023 Summer(AtCoder Beginner Contest 312) - AtCoder](https://atcoder.jp/contests/abc312) ## [A - Chord (atcoder.j ......
Contest AtCoder Programming 312 Beginner

线段树

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

[ARC119F] AtCoder Express 3

有简单做法,但是pb大神讲了自动机做法。 这么有趣的自动机不去做?亏大发。 有两个重要的观察。 当你出现长度大于 $4$ 的连续段时,一定会向后走一次并跳过这一段。 某些时候,当你能用同样的步数走到最后的两个格子,且中一个是 $\rm A$,一个是 $B$ 时,可以看作你处于一个既能是 $\rm A ......
AtCoder Express 119F ARC 119

Atcoder-Beginner-Contest-312 A~Ex

# [$Atcoder-Beginner-Contest-312$](https://atcoder.jp/contests/abc312/) AB过于简单,在此略去。 ## [$C-Invisible$ $Hand$](https://atcoder.jp/contests/abc312/task ......

AtCoder Beginner Contest 312

## [A - Chord (abc312 A)](https://atcoder.jp/contests/abc312/tasks/abc312_a) ### 题目大意 给定一个长度为$3$的字符串,问是不是`ACE, BDF, CEG, DFA, EGB, FAC, GBD`中的一个。 ### ......
Beginner AtCoder Contest 312

(AtCoder Beginner Contest 312)

(AtCoder Beginner Contest 312) A - Chord #include<bits/stdc++.h> using namespace std; #define int long long //#define int __int128 typedef pair<int,in ......
Beginner AtCoder Contest 312

luogu P3733 [HAOI2017] 八纵八横 题解【线段树分治+线性基+可撤销并查集+bitset】

[TOC] # 题目大意 [题目链接](https://www.luogu.com.cn/problem/P3733 "题目链接") >给出一张 $n$ 个点 $m$ 条边的连通无向图,边带边权 $w_i$ 。有以下三种操作,共 $q$ 次: $\centerdot$在点 $x,y$ 之间加入一条边 ......
线段 题解 线性 bitset luogu

[TJOI2007] 线段

# [TJOI2007] 线段 ## 题目描述 在一个 $n \times n$ 的平面上,在每一行中有一条线段,第 $i$ 行的线段的左端点是$(i, L_{i})$,右端点是$(i, R_{i})$。 你从 $(1,1)$ 点出发,要求沿途走过所有的线段,最终到达 $(n,n)$ 点,且所走的路 ......
线段 TJOI 2007

线段树(动态开点,合并,区间修改)

```cpp #include #include #include #include #include using namespace std; typedef long long ll; int n, m, root; struct MergeSegmentTree { #define lid l ......
线段 区间 动态

如何从Notepad++运行python(转载自https://zhuanlan.zhihu.com/p/381986542)

从Notepad++可以直接配置快捷键运行当前python程序。 点击 运行(R) -运行(R)... 在弹出的输入框内输入以下命令,点击 保存... 分配一个名称与快捷键,即可以按快捷键运行当前程序。 cmd /k cd /d "$(CURRENT_DIRECTORY)" & python "$( ......
381986542 zhuanlan Notepad python https

lazy 线段树代码

描述 代码: 1 class Node { 2 int l, r; 3 int sum; 4 int lazy; 5 } 6 7 class SegmentTree { 8 9 private Node[] tree; 10 11 private int[] nums; 12 13 public S ......
线段 代码 lazy

Atcoder ABC259H Yet Another Path Counting

首先可以想到有组合数的方法: 令起点为 $(x1, y1)$,终点为 $(x2, y2)$,则路径方案数就为 $\binom{x2 + y2 - x1 - y1}{x2 - x1}$,这样设有 $k$ 个相同颜色的点,时间复杂度就为 $O(k^2)$。 再考虑到还有 $\text{DP}$ 方法: ......
Counting Atcoder Another 259H Path

懒标记线段树

#### 1. 操作 | 符号 | 含义 | | | | | $nums$ | 原数组 | | $d$ | 线段树节点维护值 | | $lazytag$ | 线段树节点懒标记值 | | $p$ | 当前节点 | | $s$ | 查询区间的开始 | | $e$ | 查询区间的结尾 | | $l$ | ......
线段 标记

树上查询最大路径子段和的模板,线段树+树链剖分实现,带修

可以只使用线段树部分使其变成求区间最大字段和 template<class T> struct PathSubSegmentOnTree { struct ST { int l, r; T sum; T lMaxSum, rMaxSum, maxSum; T lMinSum, rMinSum, mi ......
线段 路径 模板

Atcoder ARC060D Digit Sum

看到 $n\le 10^{11}$,考虑按根号分为两部分处理。 对于 $b\le \sqrt{n}$,考虑直接暴力算 $\operatorname{f}(b, n)$ 判断是否等于 $s$,这部分的计算量是 $O(\sqrt{n})$ 级别的。 对于 $\sqrt{n} n$,这个时候 $\oper ......
Atcoder Digit 060D ARC 060

线段树解题技巧

## 前言 线段树是一种在 $\log$ 时间内维护区间信息的数据结构,其维护的信息具有区间可加性。 区间可加性,也就是由区间 $A$ 和区间 $B$,可以推出 $A\cup B$。 上面说到的区间,指的是区间内维护的信息。 如区间和,区间平方和,区间最值,区间最大子段,区间最长连续子段,这类问题就 ......
线段 技巧

线段树模板二

## 1:扫描线+树状数组 ### 题意 平面上有n个点(xi,yi)。回答q个询问,每个询问给定一个矩形[X1,X2]×[Y1,Y2],询问矩形里面有多少个点。 ### 输入格式 第一行两个整数n,q(1≤n,q≤2×105)。 接下来n行,每行两个整数xi,yi(1≤xi,yi≤109)。 接下 ......
线段 模板

线段树

线段树 定义 用 Node[l,r] 表示线段树表示区间[l,r] 的节点 其儿子就是 Node[l, l + r >> 1] Node[(l + r >> 1) + 1, r] 当 l == r 时为叶子,停止 这样尽量等分下去的树形结构 功能 可以简单地抽象为一个数据结构功能 对一个范围进行某种 ......
线段