拓扑 前缀 线性leetcode

Leetcode 55

class Solution: def canJump(self, nums: List[int]) -> bool: if len(nums) == 1:return True i = 0;j = i for i in range(100000): if j > i+nums[i]:pass el ......
Leetcode 55

Leetcode 383. 赎金信(Ransom note)

[题目链接](https://leetcode.cn/problems/ransom-note) 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazi ......
Leetcode Ransom note 383

前缀和与差分

## 前缀和 ### 一维前缀和 公式: $$ s[i] = s[i - 1] + a[i] $$ 模板: ```c++ const int N = 10000 + 10; int n,m; int a[N],s[N]; int main() { scanf("%d%d",&n,&m); for ( ......
前缀

线性基与图论结合的经典问题

[立体传送门:Luogu P4151](https://www.luogu.com.cn/problem/P4151) 不急,一步一步来。 第一种情况,考虑我们现在已经有一条 $1-> n$ 的路径,不妨设为 $1->i->j->k->n$,异或起来为 $dis_n$,那么我们的 $ans$ 就是 ......
线性 经典 问题

线性同余方程+中国剩余定理

## 逆元 求解$ax=b\pmod m$,其实等价于$ax+my=b$,然后扩欧就无了。 可以应用于求当是$a,p$互质,求$a$在模$p$意义下的逆元,方法就是求解$ax=1\pmod p$。 ## 中国剩余定理(CRT) ### 问题: 有$m_1,m_2,...,m_n$,$n$个整数两两互 ......
定理 线性 方程

LeetCode.283 移动零

题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 https://leetcode.cn/problems/move-zeroes/description/ 输入: nums = [0,1 ......
LeetCode 283

【题解】 P7077 [CSP-S2020] 函数调用(拓扑排序)

## 题意 题目给定了一个长度为$n$序列$a$与$m$个操作,操作一共有3种: 1.给定$x,y$,使$a_x$增加$y$。 2.给定$x$,使$a$中所有数全部乘上$x$。 3.给出k个数$c_1,c_2,...,c_k$,表示这个操作的任务是按照先后顺序执行编号为$c_1,c_2,...,c_ ......
题解 拓扑 函数 P7077 CSP-S

Leetcode_485. 最大连续 1 的个数

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

[刷题记录Day22]Leetcode二叉树

# No.1 ## 题目 [二叉搜索树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/) ## 思路 - 递归法 - BST特性如何利用?在BST中,公共祖先一定在p、q数值范围 ......
Leetcode Day 22

leetcode 题库994——bfs典型解法(队列+递归实现)

class Solution: def orangesRotting(self, grid: list[list[int]]) -> int: m,n=len(grid),len(grid[0]) queue,good=[],[] def bfs(queue,good,m,n,grid): time ......
解法 队列 题库 leetcode 典型

LeetCode题库77.组合——dfs典型解法,递归+回溯+剪枝

class Solution: def combine(self, n: int, k: int): nums=[x+1 for x in range(n)] res,ans=[],[] def dfs(nums:list[int]): if len(ans)==k: ans_copy=ans.co ......
解法 题库 LeetCode 典型 dfs

leetcode_35. 搜索插入位置

题目描述 35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 输入: nums = [1,3,5,6], target = 5 输出: 2 输入: nums ......
leetcode 位置 35

线性回归基本原理和公式推导

回复我们公众号“1号程序员”的“E001”可以获取《BAT机器学习面试1000题》下载链接。[关注并回复:【E001】] 线性回归是一种监督式机器学习算法,它计算因变量与一个或多个独立特征之间的线性关系。当独立特征的数量为1时,被称为单变量线性回归;在存在多于一个特征的情况下,被称为多变量线性回归。 ......
线性 公式 原理

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

LeetCode —— 排序

148. 排序链表 一般都用归并排序,因为是单向链表,其它排序算法根据下标找元素,向前遍历等都比较困难 主函数流程是: 如果 head==null || head.next==null return head。因为 head.next == null 即只有一个元素时,不用再划分了,而且一个元素本身 ......
LeetCode

【LeetCode动态规划#17】知道秘密的人,维护多个dp数组

### 知道秘密的人数 在第 1 天,有一个人发现了一个秘密。 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后,每天 给一个新的人 分享 秘密。同时给你一个整数 forget ,表示每个人在发现秘密 forget 天之后会 忘记 这个秘密。一个人 不能 在忘记秘密那一天及 ......
数组 LeetCode 多个 秘密 动态

【LeetCode回溯算法#12】二叉树的直径,树形dp的前置内容(使用dfs)

### 二叉树的直径 给你一棵二叉树的根节点,返回该树的 **直径** 。 二叉树的 **直径** 是指树中任意两个节点之间最长路径的 **长度** 。这条路径可能经过也可能不经过根节点 `root` 。 两节点之间路径的 **长度** 由它们之间边数表示。 **示例 1:** ``` 输入:roo ......
树形 直径 算法 LeetCode 内容

线性筛不大全

众所周知,OI界有一股清流,它的名字叫做 #####筛法 这之中,有一线性筛十分出名,人称XXS. 今天稍微总结一下最近用过的,比较厉害的,线性筛. 目前用到的比较常用的线性筛, 大多是建立在质数的基础上的, 也就是以最普通的筛法求质数为基点,向外延伸. 筛法求质数 ```cpp void Wond ......
线性 大全

《线性代数》2. 向量的高级话题

### 规范化和单位向量 **在了解完向量的基础知识后,我们来探讨更多和向量有关的高级话题。首先向量是一个有向线段,由原点指向空间中的某一个点,所以向量除了具有方向之外,还应该具有大小。比如有两个向量 $\vec{u}$、$\vec{w}$,分别是 $(3, 4)^{T}$、$(4, 3)^{T}$ ......
线性代数 向量 代数 线性 话题

线性基与高斯消元

### 高斯消元 作用:解方程 这里采用[P2455 线性方程组](https://www.luogu.com.cn/problem/P2455)作为模板题,因为这题数据比较强 模仿普通的加减消元,可以想出一种比较靠谱的方法 1. 枚举主元系数最大的一个方程 2. 用这个方程来消去其他所有方程的主元 ......
线性

多阶前缀和学习笔记

[例题传送门:P4062 [Code+#1] Yazid 的新生舞会](https://www.luogu.com.cn/problem/P4062) 简要题意:给定一串序列$A_1,A_2,...,A_n$,求有多少个子区间$[l,r]$满足子区间内众数的个数大于$\frac{r-l+1}{2}$ ......
前缀 笔记

Dirichlet 前缀和学习笔记

[传送门](https://www.luogu.com.cn/problem/P5495) 求$b_k=\sum\limits_{i|k}{a_i}$ 考虑$i=p_1^k,j=p_1^{k+1}$,若我们已经求出了$b_i$,则易知$b_j=b_i+a_j$ 然后根据上面的方法,考虑对于所有的$k ......
前缀 Dirichlet 笔记

Leetcode 228. 汇总区间

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

LeetCode 131. 分割回文串

#题目链接:[LeetCode 131. 分割回文串](https://leetcode.cn/problems/palindrome-partitioning/description/) ##题意: 给你一个字符串 s,请你将 s 分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割 ......
回文 LeetCode 131

Leetcode 454. 四数相加 II(4sum ii)

[题目链接](https://leetcode.cn/problems/4sum-ii) 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: - 0 nums1[0] + nums2[0] + nums ......
Leetcode 4sum 454 sum II

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

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

P1113 杂务 (DAG拓扑排序--DP)

# 这是一道拓扑排序的模板题 ### 0 额. #### 所需的前置知识: - 图论相关的基本概念 - 建图,存图 - 图的遍历 - 非常入门的DP 下面进入正文 #### 1 引入 拓扑排序是一类用于处理 DAG(Directed acyclic graph),即**有向无环图**上的问题。 以这 ......
杂务 拓扑 P1113 1113 DAG

[刷题记录Day21]Leetcode

# No.1 ## 题目 [二叉搜索树的最小绝对差](https://leetcode.cn/problems/minimum-absolute-difference-in-bst/) ## 思路 - 中序遍历的BST是有序序列 - 最小绝对差一定是在相邻的数组元素间 ## 代码 ```Java p ......
Leetcode Day 21

[刷题记录Day20]Leetcode二叉树

# No.1 ## 题目 [最大二叉树](https://leetcode.cn/problems/maximum-binary-tree/) ## 思路 - 递归法 - 注意保持区间定义一致`[left, right)` ## 递归分析 1. **返回值**:节点,**参数**:数组,起点,终点 ......
Leetcode Day 20

Leetcode 344. 反转字符串(Reverse string)

[题目链接🔗](https://leetcode.cn/problems/reverse-string) 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1 ......
字符串 字符 Leetcode Reverse string