线段树
文章平均质量分 51
刷题训练记录
蔡珏
这个作者很懒,什么都没留下…
展开
-
Educational Codeforces Round 96 (Rated for Div. 2) E题(逆序对)
思路 但是我的代码感觉更好 /********************************************************************* 程序名: 版权: Joecai 作者: Joecai 日期: 2022-04-07 22:40 说明: *********************************************************************/ #include <bits/stdc++.h&g转载 2022-04-08 11:45:30 · 49 阅读 · 0 评论 -
daimayuan 代码源大富翁游戏
线段树基础题,动态在线维护区间最大值和最小值,一发过 /********************************************************************* 程序名: 版权: Joecai 作者: Joecai 日期: 2022-04-06 14:55 说明: *********************************************************************/ #include <bi原创 2022-04-06 17:10:54 · 188 阅读 · 0 评论 -
1611F - ATM and Students详细题解(*1800,线段树维护前缀和;双指针算法(思维))
1611F - ATM and Students 题目大意: 给你一个数组a,找到最大连续段[l,r][l,r][l,r]: al+al+1+...+ar+s>=0al+al+1+...+ar+s>=0al+al+1+...+ar+s>=0 (条件1) al+al+1+...+ar+s<0al+al+1+...+ar+s<0al+al+1+...+ar+s<0 (条件2) 或者l到n都满足al+al+1+...+an+s>=0l到n都满足al+al+1+...+原创 2021-12-03 16:29:51 · 701 阅读 · 0 评论 -
[NOIP2012]借教室
从线段树的思路来看就是维护区间最小值,对最小值进行更新,某一次小于0,则输出这次为答案 我的代码: #include <iostream> #include <algorithm> #include <cstring> using namespace std; const int N = 1e6 + 10; int n, m, a[N]; struct node { int l; int r; int lz; int w; } tr[N << 2];原创 2021-11-09 16:43:01 · 61 阅读 · 0 评论 -
三元上升子序列
洛谷p1637题目传送门: 上代码 很容易想到 三元上升子序列的个数=每个数前比它小的数的个数*每个数后比它大的数的个数 之和 我们只需要维护 每个数前比它小的数的个数 和 每个数后比它大的数的个数 并记录下来就可以了, 那么怎样用线段树去维护呢?以一组数据 An={ 1,4,5,3 } 为例: 首先我们开个桶sum[n]记录每个数的出现次数,那么一开始这个桶就是 0 0 0 0 0 插入A1=1,此时的桶为 1 0 0 0 0 ,查询A1前有没有比它小的数: 1 0 0 0 0,好吧一个原创 2021-11-04 14:16:35 · 143 阅读 · 0 评论 -
线段树(连载中)
单调栈模板1(维护区间加减和区间查询): #include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int n, m; typedef long long ll; ll ans[N << 2], a[N], tag[N << 2]; inline int ls(int x) { return x << 1; } inline int rs(int x) { return原创 2021-10-20 21:56:20 · 77 阅读 · 0 评论 -
牛客xiao白月赛39 D(线段树维护区间)
牛客小白月赛39 D juewang(被和谐了)(链接) 我没有打这个比赛,但是队友让我做了这个题(确实是好题),这次做的这个题目让我的线段树的理解获得了极大的提升,以往我的思维想的是: pushup维护递归到子树后子树传递给父亲的信息。 pushdown维护父亲将要对子树的影响的信息。 回到这个题目: 通过分析题意结合唯一分解定理易知: 1.如果x==0 修改后的A[i]=ai,等于本身,即修改后原先是质数,那么修改后仍然是质数,原先不是质数,修改后仍不是质数。 2.如果x>1, 修改后的A[原创 2021-10-29 15:12:31 · 85 阅读 · 0 评论