线段 最大值 末尾 区间
剑指Offer 42. 连续子数组的最大和
**题目链接:** [剑指 Offer 42. 连续子数组的最大和](https://leetcode.cn/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/description/?envType=study-plan-v2&envId=coding-in ......
区间问题
# 应用 ## 应用1:Leetcode.56 ### 题目 算法步骤: - 先将时间段按照起始时间升序,结束时间降序排序 - 用 $results$ 保存合并后的结果,并保存所有时间段中的第一个,并以其作为基准; - 遍历所有的时间段: - 如果当前区间的起始时间小于等于,$results$ 中最 ......
线段树进阶
## 普通线段树 核心在于上传标记(pushup)和下传标记(pushdown)以及懒标记的设计。 [**P3373 【模板】线段树 2**](https://www.luogu.com.cn/problem/P3373) 维护一个加法标记和乘法标记。 下传标记时,将乘法标记更新加法标记。 标记下传 ......
给定一个数n如23121;给定一组数字a如[2 4 9]求由a中元素组成的小于n的最大数
给你一个n和一个数字的数组,比如n=23121,数组A={2,4,9},当然保证数组A中都是个位数,并且没有重复的,没说数组A有序,我这默认有序,结果得到一个数22999,就是数组A拼出来的一个刚好比n小的数。 1 package main 2 3 import ( 4 "fmt" 5 "strin ......
直播电商平台开发,自定义日期区间选择器组件
直播电商平台开发,自定义日期区间选择器组件 <!-- * @Description: 自定义日期区间选择器 * @Author: knight * @Date: 2022-10-08 09:39:46 * @LastEditTime: 2022-10-08 17:03:39 * @LastEdito ......
mysql取最大日期数据
# 1. 使用SELECT语句和ORDER BY子句 SELECT * FROM table_name ORDER BY date_column DESC LIMIT 1; # 2. 使用MAX()函数和SELECT语句 SELECT * FROM table_name WHERE date_col ......
Codeforces Round 406 (Div. 2) D. Legacy 线段树优化建图
[传送门](https://codeforces.com/problemset/problem/786/B) 题目大意: **给定n个点,m个操作,和起点s。其中n 和 q 大于等于1小于等于1e5, s大于等于1小于等于n** **其中m个操作有三种情况:** 1.输入1 u v val 表示从u ......
485. 最大连续1的个数
链接: https://leetcode.cn/problems/max-consecutive-ones/description/ 思路: 没啥好说的吧.....基础题目 代码 class Solution: def findMaxConsecutiveOnes(self, nums: List[ ......
查询分组后id最大的一条记录
Linux系统-部署-运维系列导航 -- 连表 SELECT t.* from test_table t inner join (select t1.`name`,max(t1.id) id from test_table t1 group by t1.`name`) t2 on t.id = t2 ......
Memory题解(线段树优化DP)
[传送门](https://www.luogu.com.cn/problem/P9594) 简要题意: 给定 $m$ 条线段,每条线段由四个正整数参数 $l_i,r_i,c_i,w_i$ 描述,其中 $l_i,r_i$ 是这条线段的端点,$c_i$ 是这条线段的种类,$w_i$ 是这条线段的权值。 ......
高级算法指北——李超线段树及其应用
## I 走进李超线段树 ### 定义 李超线段树是一种用于维护多条一次函数的线段树。你可以使用它在 $O(\log n)$ 的复杂度内插入一条新的直线,或是查询所有直线 $y=k_ix+b_i$ 中,当 $x=x_0$ 时,$y$ 的最值。 李超线段树上的每个节点都维护当前区间的中点处,$y$ 的 ......
普通线段树
## [P3373 【模板】线段树 2](https://www.luogu.com.cn/problem/P3373) 题目要求支持区间加,区间乘,所以就打两个 $lazy\_tag$ ,然后 $push\_down$ 的时候先乘后加即可。 然后注意乘法的 $lazy\_tag$ 初始值为 $1$ ......
吉司机线段树
## 一、区间历史最值 以区间历史最大值为例。首先,相应地,设 $maxb$ 表示一个节点的区间历史最大值。为了更新一个区间的子区间,再设一个 $tag2$ ,表示 $tag1$ 从上次 $push\_down$ 以后到现在达到过的最大值。 $code:$ ```cpp void push_up(i ......
leetcode1161最大层内元素之和
dfs lass Solution { public: unordered_map<int,vector<int>>m; void dfs(TreeNode* root,int depth){ if(!root)return; int res=0; depth++; dfs(root->left,d ......
【Leetcode刷题记录】1、汇总区间;2、合并区间;3、插入区间
1、汇总区间 题目:给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围 [a,b] 应该按如下格式 ......
李超线段树学习笔记
# 李超线段树学习笔记 ## [P4097 【模板】李超线段树 / [HEOI2013] Segment](https://www.luogu.com.cn/problem/P4097) ### 题意 要求在平面直角坐标系下维护两个操作: 1. 在平面上加入一条线段。记第 $i$ 条被插入的线段的标 ......
【Leetcode刷题记录】1、最多可以摧毁的敌人城堡数目;2、消灭怪物的最大数量;3、序列化和反序列化二叉搜索树
1、最多可以摧毁的敌人城堡数目 题目:给你一个长度为 n ,下标从 0 开始的整数数组 forts ,表示一些城堡。forts[i] 可以是 -1 ,0 或者 1 ,其中: -1 表示第 i 个位置 没有 城堡。 0 表示第 i 个位置有一个 敌人 的城堡。 1 表示第 i 个位置有一个你控制的城堡 ......
牛客——SQL179 各城市最大同时等车人数
### 描述 用户打车记录表tb_get_car_record | id | uid | city | event_time | end_time | order_id | | | | | | | | | 1 | 108 | 北京 | 2021-10-20 08:00:00 | 2021-10-20 ......
区间合并 (9/3)
一、区间合并 1、用sort排序 排 vector的 pair 先排左边再排右边 void merge(vector<PII> &segs){ vector<PII> res; // 左端点排序 sort(segs.begin(), segs.end()); // 左右端点初始化,-无穷 int s ......
《一般图最大匹配》学习总结
带花树学不会,不玩了。咕掉。 # 随机化 来学随机化吧。。。 实际上在随机数据上表现甚至优于带花树,不过他为什么要随机而且为什么随机就能搞我也不知道。 就背一个板子就好了。 点击查看代码 ``` #include typedef long long LL; using namespace std; ......
线段树专题
# 线段树专题 注意:此文乃个人对线段树的见解,各位大佬如发现错误请批评指正 > 什么是线段树 线段树顾名思义,就是将一个数列的各个区间当成是树上的节点并维护。 > 线段树用来干什么 一般用来进行区间查改(矩阵查改本蒟蒻不会) > 线段树节点如何编号 假设当前节点的编号为 $k$,左儿子的编号为 $ ......
79 贪心 P1803 线段覆盖
视频链接: Luogu P1803 凌乱的yyy / 线段覆盖 #include <iostream> #include <cstring> #include <algorithm> using namespace std; struct line{ int l,r; //线段的左,右端点 bool ......
统计一个字符串的 k 子序列美丽值最大的数目
k 子序列指的是 s 的一个长度为 k 的 子序列 ,且所有字符都是唯一的,也就是说每个字符在子序列里只出现过一次。 定义 f(c) 为字符 c 在 s 中出现的次数。 k 子序列的 美丽值定义为这个子序列中每一个字符 c 的f(c)之和 ###1. 贪心 + 组合枚举 贪心选美丽值最大的字符,对于 ......
吃透单调栈(2)——解两道Hard题:接雨水、柱状图中最大的矩形问题
怎么想到要用单调栈的? 这类题目的数据通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置(寻找边界),此时我们就要想到可以用单调栈了。 42. 接雨水 这道题就是要求解每一个柱子左边第一个比它高的柱子,以及右边第一个比它高的柱子,然后这两个柱子间形成的凹槽面积。 注意,是 ......
[图论与代数结构 601] 最小费用最大流 题解
[题目传送门](https://www.luogu.com.cn/problem/B3608) 一道网络流题。 费用流板子题。费用流实际上是在给最大流套个最短路,而费用流一般边权会有负数,所以用 SPFA 算法,~~关于 SPFA,它复活了~~。 可以在最大流做 bfs 的时候将 SPFA 套上去。 ......
剑指 Offer 42. 连续子数组的最大和(简单)
题目: ![](https://img2023.cnblogs.com/blog/2679751/202309/2679751-20230902194907472-1661771290.png) ``` class Solution { public: int maxSubArray(vector& ......
线段树
# 建树: ```cpp int a[100005],d[100005]; void build(int s,int e,int p){// 建树 // 对区间[s,t]建立线段树,当前根编号为p if(s==e){ d[p]=a[s]; return ; } int m=s+((e-s)>>1); ......
区间dp入门选讲
[toc] ## 区间dp入门选讲 ### 合并果子 [传送门](https://www.luogu.com.cn/problem/P1090) 设 $f_{i,j}$ 表示合并区间 $[i,j]$ 的最小代价, $\begin{aligned}s_i=\sum^{i}_{k=1}a_k\end{a ......
2023-09-01:用go语言编写。给出两个长度均为n的数组, A = { a1, a2, ... ,an }, B = { b1, b2, ... ,bn }。 你需要求出其有多少个区间[L,R]
2023-09-01:用go语言编写。给出两个长度均为n的数组, A = { a1, a2, ... ,an }, B = { b1, b2, ... ,bn }。 你需要求出其有多少个区间[L,R]满足: 数组A中下标在[L,R]中的元素之和在[La,Ra]之中, 数组B中下标在[L,R]中的元素 ......