线段 最大值 末尾 区间

Leetcode刷题之 1071. 字符串的最大公因子

# 题目描述 对于字符串 s 和 t,只有在 s = t + ... + t(t 自身连接 1 次或多次)时,我们才认定 “t 能除尽 s”。 给定两个字符串 str1 和 str2 。返回 最长字符串 x,要求满足 x 能除尽 str1 且 x 能除尽 str2 。 示例 1: 输入:str1 = ......
因子 字符串 字符 Leetcode 1071

线段树优化建图

以前一直以为是什么高深的东西,然后学会了才发现没那么难。 ## 超级源点 假设我现在有: ```mermaid graph TD 1 2 3 ``` ```mermaid graph TD 4 5 6 ``` 需要给1连上4,5,6;2连上4,5,6;3连上4,5,6。它们的边权为1。 那你会说,这 ......
线段

最大子矩阵和

## Blah数集 大数学家高斯小时候偶然间发现一种有趣的自然数集合Blah,对于以`a`为基的集合`Ba`定义如下: (1)`a`是集合`Ba`的基,且`a`是`Ba`的第一个元素; (2)如果`x`在集合`Ba`中,则`2x+1`和`3x+1`也都在集合`Ba`中; (3)没有其他元素在集合Ba ......
矩阵

P5629 【AFOI-19】区间与除法 题解

# P5629 【AFOI-19】区间与除法 题解 由于题目中的运算是除法,所以对于一个数字 $x$,最多运算次数不会超过 $\lceil\log_{d}x\rceil$ 就会变成 $0$。 然后我们就可以在 $O(n\log C)$ 的时间复杂度内算出来每一个数字能被哪些原数消灭。 这样处理询问仍 ......
除法 题解 区间 P5629 5629

m基于UWB信号的Rake接收性能matlab仿真,对比最大比合并,等增益合并,选择合并

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 基于UWB信号的Rake接收性能仿真涉及了多个步骤,包括信号生成、传输、接收以及多径信道中的信号合并等。超宽带(UWB)通信技术以其大带宽、高容量和抗多径传播等优势而受到关注。Rake接收器是UWB通信系统中用于抑制多 ......
信号 性能 matlab Rake UWB

剑指 Offer 17. 打印从1到最大的n位数(简单)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230827195127102-585324581.png) ``` class Solution { public: vector printNumbers(int ......
位数 Offer 17

Leetcode_485. 最大连续 1 的个数

题目描述 给定一个二进制数组, 计算其中最大连续 1 的个数。 示例: 输入:[1,1,0,1,1,1] 输出:3 解释:开头的两位和最后的三位都是连续 1 ,所以最大连续 1 的个数是 3. 提示: 输入的数组只包含 0 和 1 。 输入数组的长度是正整数,且不超过 10,000。 参考实现 示例 ......
个数 Leetcode 485

P5369 [PKUSC2018] 最大前缀和 做题记录

[题目传送门](https://www.luogu.com.cn/problem/P5369) # 题意 给定一列数 $a_{1\dots n}$,求其所有排列的最大前缀和之和,$\bmod \ 998244353$。$n \le 20, \sum \lvert a_{i} \rvert \le 1 ......
前缀 P5369 PKUSC 5369 2018

力扣-228. 汇总区间(C++题解)

题目链接:https://leetcode.cn/problems/summary-ranges/description/ 给定一个 **无重复元素** 的 **有序** 整数数组 $nums$ 。 返回 ***恰好覆盖数组中所有数字*** 的 ****最小有序*** 区间范围列表* 。也就是说,$ ......
题解 区间 228

剑指Offer 17. 打印从1到最大的n位数

**题目链接:** [剑指Offer 17. 打印从1到最大的n位数](https://leetcode.cn/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/description/?envType=study-plan-v2&envId=cod ......
位数 Offer 17

吉司机线段树学习笔记

给出一个长度为n的数列A同时定义一个辅助数组 B,B开始与 A完全相同。接下来进行了m次操作,构造一个数据结构维护以下五类操作: 1. 对于所有i$\in$[l,r],将$A_i$加上k 2. 对于所有i$\in$[l,r],将$A_i$min($A_i$,v) 3. 求$\sum\limits_{ ......
线段 司机 笔记

P5787 二分图 /【模板】线段树分治

[传送门](https://www.luogu.com.cn/problem/P5787) 分析: $1$、**并查集判断二分图:** 定义$2n$个点,染成黑白两色,代表两个不同的集合,$a_1$与$a_{1+n}$为不同的颜色,以此类推,对于$a_i$和$a_j$的连边,判断$a_i$和$a_j ......
线段 模板 P5787 5787

P3376 【模板】网络最大流

本来不想写的,可是板子都记不住,所以写一下加深印象QAQ [传送门](https://www.luogu.com.cn/problem/P3376) 考虑$Dinic$算法 $1$、$bfs$找增广路,当从$i$点可以到达$j$点且该条路还有流量时且$j$点以前没有到达过时,使$dep_j=dep_ ......
模板 P3376 网络 3376

树上可持久化线段树

[例题传送门:Count on a tree](https://www.luogu.com.cn/problem/P2633) 简要题意:有棵$n$个节点的树,每次点有个权值$a_i$,每次询问给出$u,v,k$,求$u,v$两个节点的简单路径上(包括$u,v$)上第$k$小的点,保证数据有解,强制 ......
线段

P2824 排序(二分答案加线段树)

[传送门](https://www.luogu.com.cn/problem/P2824) 很巧妙的一个题 直接排序肯定会$T$飞 我们发现问题只有一个:第$q$个位置上的数字 不难想到从这里入手,二分答案,考虑第$q$个位置上的数字是什么,不妨设他为$x$ 然后把大于等于$x$的数变成$1$,小于 ......
线段 答案 P2824 2824

文理分科(最大流最小割定理)

[传送门](luogu.com.cn/problem/P4313) 数据范围一眼网络流。 考虑每个人文理只能选一个,考虑最小割。 考虑源点$S$向$(i,j)$连一条费用为$art_{i,j}$的边,$(i,j)$向汇点$T$连一条费用为$science_{i,j}$的边。若割$S$与$(i,j)$ ......
文理 定理

大厂算法题每日总结(绳子最大能盖的数组节点)

//绳子最大能盖的数组节点 public static void main(String[] args) { int[] arr = {1,4,7,9,60}; System.out.println(maxPoint2(arr,50)); } public static int maxPoint(i ......
数组 节点 绳子 算法

Leetcode 228. 汇总区间

# 1.题目描述 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围 [a,b] 应该按如下格式输 ......
区间 Leetcode 228

228. 汇总区间(stringstream)

字符串处理:动态规划,双指针,栈,计数,字符串流 本题要将一个格式化的字符串容器作为答案,可利用双指针和stringstream来进行操作 class Solution { public: vector<string> summaryRanges(vector<int>& nums) { int n ......
区间 stringstream 228

力扣---228. 汇总区间

给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围 [a,b] 应该按如下格式输出: "a->b" ......
区间 228

P4017 最大食物链计数 (DAG拓扑排序)

[空降锣鼓](https://www.luogu.com.cn/problem/P4017 "空降锣鼓") # 1 题目分析 首先 ,要知道这道题是 Topo 拓扑排序。不妨先从拓扑排序定义下手,分析题目的性质。经分析得: 食物链中的生物 —— **节点** 生物之间的关系 —— **有向边** 为 ......
食物链 拓扑 食物 P4017 4017

线段树+动态开点权值线段树+主席树学习笔记

线段树一般用于维护符合结合律的信息。可以用于求区间最大值 区间和 区间最小值 最大子段和甚至于最大负数最小正数之类的信息。事实上线段树只有你想不到,很少有做不到的,算是相当常用的数据结构。 下面将结合个人理解和具体题目来讲一讲线段树。 [https://www.luogu.com.cn/proble ......
线段 主席 笔记 动态

剑指 Offer 59 - I. 滑动窗口的最大值

题不难,但理解思路很重要。 做法是单调队列。 如果求滑动窗口的最大值,那么必须在单调队列保持严格单调递减(只能小于,小于等于也不行),为啥不行还不是很清楚。 并且,单调队列一定存储的是数组的索引!!否则无法确定滑动窗口的开始位置以及开始时的队列存储最大值的情况。 class Solution { p ......
最大值 Offer 59

【主席树】洛谷 P3834 可持久化线段树 2

# 【主席树】洛谷 P3834 可持久化线段树2 题目链接:https://www.luogu.com.cn/problem/P3834 主席树是可持久化线段树的一种,也叫做可持久化权值线段树,主要可以用来O(logn)求静态区间的第k小数。 总所周知,普通线段树每次修改会遍历logn个点,那么我们 ......
线段 主席 P3834 3834

可持久化线段树标记永久化?可刺激化修道士表舅已经黑!

关于可刺激化修道士表舅已经黑。 因为傻逼 lxd 告诉我我的表舅已经黑写法是错误的,所以稀里糊涂的让他改成了他的那种写法。但是我的也是对的。 比如区间加和区间查和,维护一个 $tag$,表示表舅的值。然后在区间加的时候,经过的区间的 $sum$ 的值可以直接加,但是只有在 ```cpp if (x ......
表舅 线段 标记

反序列的字典序排序最大

Smiling & Weeping 我生活在自己的光里面,不断啜饮内心的火焰 题目链接:https://www.luogu.com.cn/problem/solution/P3243 题目: # [HNOI2015] 菜肴制作 ## 题目描述 知名美食家小 A 被邀请至 ATM 大酒店,为其品评菜肴 ......
序列 字典

【剑指Offer】64、滑动窗口的最大值

# 【剑指Offer】64、滑动窗口的最大值 **题目描述:** 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2, ......
最大值 Offer

剑指 Offer 47. 礼物的最大价值(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230824204353561-1984941428.png) ``` class Solution { public: int maxValue(vector>& g ......
礼物 价值 Offer 47

剑指 Offer 63. 股票的最大利润(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230824200740170-1968883688.png) ``` class Solution { public: int maxProfit(vector& p ......
利润 股票 Offer 63

线段树

线段树 vs 树状数组 1. 代码长度: 树状数组段 2. 可扩展性:线段树强, 二树状数组仅局限于和的处理 3. 思维难度:线段树简单 比如 区查区改 树状数组还要打开多项式搞 延迟标记:为了处理当修改区间是$[1,n]$时所有节点都要被修改一遍的情况 如果修改区间覆盖当前区间,那么这颗子树之内所 ......
线段