线段 区间 利器 主席
线段树
1 #include<iostream> 2 #include<string> 3 #define ll long long 4 const int N = 1e5 + 5; 5 6 using namespace std; 7 8 ll tree[N<<2]; // 线段树,可以是对应的结构体 9 ......
AcWing 242. 一个简单的整数问题 / 树状数组区间修改区间查询模板题
AcWing 242. 一个简单的整数问题 // 实例化是抽象的天敌,是抽象的克星 // 通过公式 sn = (i 从 1 ~ n 求积) di * (1 + n) - (i 从 1 ~ n 求积) i * di // 来计算前缀和, 又 (i 从 1 ~ n 求积) i * di 不能由 (i 从 ......
洛谷 P3368——树状数组 / 树状数组模板题,区间修改,单点查询
洛谷 P3368——树状数组 树状数组可以进行单点修改和区间查询,这题要区间修改,要想办法把区间操作变为单点操作,于是想到差分。建树时把原数组的差分数组放入树状数组可以满足我们的要求。而要查询修改后单点 u 的值,可以把差分数组的 1 ~ u 加起来,这个和就是单点 u 的值。而差分数组的 1 ~ ......
区间dp
区间dp 前情提要 先赞后看,必成习惯 一、区间dp-常见的也常考的dp 1.区间dp是什么? 区间动态规划是用 dp的状态来表示和一段区间有关的性质,比如说dp[i] [j]表示解决区间 [i,j] 上的子问题的最小代价或最大收益,然后利用区间子问题之间的关系递推求解。 2.区间dp怎么写? 区间 ......
区间和的个数
给你一个整数数组 nums 以及两个整数 lower 和 upper 求数组中,值位于范围 [lower, upper] (包含 lower 和 upper)之内的 区间和的个数 ###一. 前缀和+双重循环(超时) class Solution { public: int countRangeSu ......
贪心(区间选点)
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int n; struct Range{ int l;int r; bool operator < (const Range & w)const { return r<w ......
力扣 763. 划分字母区间
763. 划分字母区间 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度的列表。 示例 1: 输入:s = "ababcbacadefegdeh ......
一篇文章教你学会数据备份利器rsync
作为一个系统管理员,数据备份是非常重要的。阿铭有一次没有做好备份策略,结果磁盘坏了,数据全部丢失。所以在以后的系统维护工作中,你一定要时刻牢记给数据做备份。 在Linux系统下数据备份的工具很多,但阿铭只用一种,那就是rsync,从字面意思上可以理解为remote sync(远程同步)。rsync不 ......
[Week 18] 每日一题(C++,动态规划,线段树,数学)
[Daimayuan] T1 最长公共子序列(C++,DP,二分) 给出从 $1$ 到 $n$ 的两个排列 $P_1$ 和 $P_2$,求它们的最长公共子序列。 输入格式 第一行是一个正整数 $n$。 接下来两行,每行为 $n$ 个数,为自然数 $1,2,…,n$ 的一个排列。 输出格式 一个数,即 ......
MySQL8分析利器Explain analyze
EXPLAIN和EXPLAIN ANALYZE区别 EXPLAIN展示查询优化器对该查询计划估计的代价,但是不执行该查询。 EXPLAIN ANALYZE不仅会显示查询计划,还会实际运行语句。 Explain Analyze不影响数据操作方式 EXPLAIN ANALYZE会丢掉任何来自SELECT ......
力扣 56. 合并区间
56. 合并区间 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:intervals = [[1,3],[2, ......
WaitGroup:协同等待,任务编排利器
06 | WaitGroup:协同等待,任务编排利器 https://time.geekbang.org/column/article/298516 type WaitGroup struct { // 避免复制使用的一个技巧,可以告诉vet工具违反了复制使用的规则 noCopy noCopy // ......
爬虫利器:jsDOM
之前使用node做爬虫的时候,使用puppeteer来模拟浏览器,然后抓取信息,但是这样的效率和消耗太大了,所以需要一种更为效率的方法:直接使用axios来请求对应的url,然后通过jsDom,渲染成一个虚拟的html然后进行取值。 废话不多说直接上代码: 先安装jsdom npm i jsdom ......
力扣 435. 无重叠区间
435. 无重叠区间 给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。 示例 1: 输入: intervals = [[1,2],[2,3],[3,4],[1,3]] 输出: 1 解释: ......
主席树 学习笔记
考试的时候用到了,顺便学习一下。 upd:2023.04.21 终于把坑填了。 0x00 前言 主席树(又称可持久化线段树,函数式线段树)是一种常用的数据结构。它以保存每次修改时的历史版本为主要思想,拥有大量的应用场景(可持久化 trie/并查集/数组 $\ldots$)(当然,常数也是很大的)。 ......
直播预告 | 时序数据处理的云端利器:TDengine Cloud 详解与演示
当下,我们正处在一个万物互联的时代,大数据、云原生、AI、5G 等数字技术极大地方便了人们的生活,但智能物联网产生的海量数据却成为众多企业在数据处理上的巨大痛点。从本质来看,这些数据大多是产生自各种设备和传感器的时序数据,它是物联网、智能汽车、工业互联网等领域的核心数据类型,在时序数据海量爆发的当下 ......
CF1797E 线段树 + 倍增 题解
Preface 有趣的一道 ds,赛后不看题解做出来了。 Solution 首先有一个性质:$\varphi(x)$ 经过 $\mathcal{O}(\log x)$ 次迭代后变为 $1$。 证明: 若 $x$ 为奇数,$\varphi(x)=x\sum_{i=1}^{k}\frac{p_i-1}{ ......
线段树相关学习
扫描线 扫描线是一种用于图形上,常被用来解决图形面积、图形周长和二维数点等问题。 扫描线求图形面积 【模板】扫描线 因为图形并不是一个规整的矩形,不方便直接算。很容易就能想到,把这个图形拆成若干个矩形,怎么实现这个过程呢,这时候就需要用到扫描线了。 假设现在有一根线从下往上扫 可以发现若矩形的长出现 ......
【ACM算法竞赛日常训练】DAY16【奇♂妙拆分】【区区区间间间】【小AA的数列】数学 | 位运算 | 前缀和
DAY16共3题: 奇♂妙拆分(简单数学) 区区区间间间(单调栈) 小AA的数列(位运算dp) 🎈 作者:Eriktse 🎈 简介:19岁,211计算机在读,现役ACM银牌选手🏆力争以通俗易懂的方式讲解算法!❤️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中……)🚀 🎈 ......
ARC159F Good Division【性质,DP,线段树】
定义一个序列是好的当且仅当其可以通过每次删去一对相邻的不同的数把序列删空。 给定一个长度为 $2n$ 的序列 $a$,求有多少种划分方式使得每一段都是好的。答案对 $998244353$ 取模。 $n \leq 5 \times 10^5$,时限 $\text{5.0s}$。 先考虑什么样的数列是合 ......
Codeforces Round 850 (Div. 2, based on VK Cup 2022 - Final Round) E. Monsters (hard version) 线段树二分
传送门 详细题解传送门 ** 抄的ygg代码,向在这里说一下刚开始没看懂的部分。** ** 求答案的时候是把所有的当前为止的所有数值加起来减去一个从1开始并且公差为1的等差数列的前size项和。其中size是当前最多能用到哪个位置,满足前size项能构成1,2,3,....,sz这样的形式。** * ......
企业工商四要素核验 API:有效应对商业欺诈和恶意交易的利器
引言 企业工商四要素核验是一种用于验证企业基本信息的方法,主要包括企业名称、社会统一信用代码、法人名称、法人身份证四个要素。这些要素是企业注册时必须提供的信息,通过对这些信息的验证,可以确定企业的真实性和合法性,通常被用于客户身份验证、信用评估等场景。 企业工商四要素核验的工作原理 企业工商四要素核 ......
PAT Basic 1112. 超标区间
PAT Basic 1112. 超标区间 1. 题目描述: 上图是用某科学研究中采集的数据绘制成的折线图,其中红色横线表示正常数据的阈值(在此图中阈值是 25)。你的任务就是把超出阈值的非正常数据所在的区间找出来。例如上图中横轴 [3, 5] 区间中的 3 个数据点超标,横轴上点 9 (可以表示为区 ......
xor (牛客多校) (线性基+ 线段树)
思路: 问xor起来有没有某个值, 想到线性基 然后发现问L-R区间的集合都要表示x, 利用线性基的交集解决 在利用线段树解决区间问题 #include <iostream> using namespace std; typedef unsigned int ui; const int maxn = ......
树套树——维护区间内权值信息的“重武器”
Introduction 树套树,顾名思义,就是将各类“树”据结构的节点换成“树”,以此解决一些问题。 一般情况下,两层树分别维护区间信息和区间内权值的信息。 而因为树套树极劣的空间复杂度和巨大的常数,经常需要使用 动态开点 和 垃圾回收 的方法降低空间复杂度,以及一定的卡常技巧(将较为短小的不含循 ......
【题解】P6292 区间本质不同子串个数
原题链接 区间本质不同子串个数 题目描述 给定一个长度为 $n$ 的字符串 $S$,$m$ 次询问由 $S$ 的第 $L$ 到第 $R$ 个字符组成的字符串包含多少个本质不同的子串。 定义两个字符串 $a,b$ 相同当且仅当 $|a|=|b|$ 并且对于 $i\in[1,|a|]$ 都有 $a_i= ......
洛谷P5494 【模板】线段树分裂
传送门 ** 需要的前置知识:线段树合并。** #include <iostream> #include <algorithm> #include <cstring> #include <set> #include <map> #include <deque> #include <vector> t ......
sequence (牛客多校) (区间包含某个值的最大最小, 和那个东西)
思路: 一步一步的拆解分析 有一个min(al...r) 通过这个东西那么就可以 根据这个ai值分区间, 可以通过单调zhai处理 当然也可以去利用启发式合并处理, 在处理区间的时候, 因为这个有正负, 要分类讨论 正 就是最大 负数 就是最小 遇到区间包含某个值的区间最大最小 那么就利用前缀和+s ......
JS数字区间比较大小的写法
正确的写法: if (realValue >= 0 && realValue <= 5) { console.log('正确写法'); } 错误的写法: if (0 <= realValue <= 5) { console.log('错误写法'); } ......