拓扑 前缀 线性leetcode
前缀和算法题2
/** * https://leetcode.cn/problems/subarray-sums-divisible-by-k/description/ * 1.同余定理:如果(a-b)/p=k k为整数,则a%p=b%p * 2.C++和Java中对[负数%正数]的结果以及修正: * 负%正=负 ......
感谢算法博弈论让我领略了线性规划之美!!!!!!!
期中寄,人已疯 \(\mathbf{LP}\): \(A\) 是 \(m\times n\) 的矩阵,\(c\) 是 \(n\) 维向量,\(b\) 是 \(m\) 维向量,以下优化问题被称为 \(\mathbf{LP}\) 问题: \(x\) 是 \(n\times 1\) 维向量,在满足限制 \ ......
[LeetCode] 2849. Determine if a Cell Is Reachable at a Given Time
You are given four integers sx, sy, fx, fy, and a non-negative integer t. In an infinite 2D grid, you start at the cell (sx, sy). Each second, you mus ......
一些些筛子(埃氏筛、线性筛、杜教筛)
有时我们需要求出一个范围内的质数,或者要计算一些积性函数的值,但往往题目无法承受直接判断质数、直接求函数值的时间复杂度,这时我们就可以用筛子了 ......
[LeetCode] 2609. Find the Longest Balanced Substring of a Binary String
You are given a binary string s consisting only of zeroes and ones. A substring of s is considered balanced if all zeroes are before ones and the numb ......
SP15637 GNYR04H - Mr Youngs Picture Permutations(线性 dp)
题目 求方案数,考虑 dp —— 状态设计和边界 —— 题目告诉了一个很显然的性质: 每一排从左至右保证高度单调递减 每一列从后往前保证高度单调递减 那么可以发现,对于每一行,每一列,一定是按高度顺序插入,并且是连续插入,因为如果不连续,就无法保证单调递减的性质 同时,它给出了另一个性质 : \(N ......
LeetCode106. 从中序与后序遍历序列构造二叉树
题目描述 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 提交的代码 思路: 轻喷,这种还是手写方便。 中序:左中右 后序:左右中 看我上面画的屎图,整棵树的根节点 ......
线性代数 - 矩阵求直线方程组
已知两直线的方程组,求这两条直线的交点。 把方程转换成矩阵表示的方式 最终表示为: 求逆矩阵: 参考 求两条线段交点zz - 马语者 - 博客园 (cnblogs.com) 线性方程组矩阵解法 (shuxuele.com) 矩阵的行列式 (shuxuele.com) ......
前缀和+差分数组
一、一维数组度前缀和--固定数组查询区间和 1.1 定义 对于给定一个数组arr(下标从0开始),它的前缀和S[i] 表示从arr[0]到arr[i]元素总和。 1.2 构造前缀和 S[i] = S[i-1] + arr[i-1] 1.3 应用-求某个区间的和 计算区间[i, j]的元素和 => a ......
LeetCode每日算法3—无重复字符的最长子串
题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 解题思路 这个题目可以使用双指针+map来实现: 首先用双指针维护一个滑动窗口用来剪切子串 开始时, ......
[机器学习复习笔记] Linear Regression 线性回归(最小二乘法求解析解)
Linear Regression 1. 一元线性回归 定义一个一次函数如下: \[y = \theta_0 + \theta_1 x \]其中 \(\theta\) 被称为函数的 参数。显然在坐标图上,这个函数的图像是一条直线,这也是 线性回归 中的 线性 含义所在。 只有 一个 \(x\) 来预 ......
LeetCode222.完全二叉树的节点个数
题目描述 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。 示例 提交的代码 你被 ......
[Leetcode] 0119. 杨辉三角 II
119. 杨辉三角 II 题目描述 给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: rowIndex = 3 输出: [1,3,3,1] 示例 2: 输入: rowIndex = 0 输出: ......
[Leetcode] 0118. 杨辉三角
118. 杨辉三角 题目描述 给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示 ......
[Leetcode] 0112. 路径总和
112. 路径总和 题目描述 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是指没有子节点的节点。 ......
370场leetcode2题题解
100115.找到冠军Ⅰ 一场比赛中共有 n 支队伍,按从 0 到 n - 1 编号。 给你一个下标从 0 开始、大小为 n * n 的二维布尔矩阵 grid 。对于满足 0 <= i, j <= n - 1 且 i != j 的所有 i, j :如果 grid[i][j] == 1,那么 i ......
[LeetCode] 1359. Count All Valid Pickup and Delivery Options 有效的快递序列数目
Given n orders, each order consists of a pickup and a delivery service. Count all valid pickup/delivery possible sequences such that delivery(i) is al ......
前缀和
AcWing笔记——前缀和 前言 数组的前缀和,代表着一个数组前N个数的和。主要用于优化这样一种场景: 当题目要求进行求出一个数组从下标 \(i\) 到下标 \(j\) 之间的元素的和,且会多次进行这种操作时,我们可以使用前缀和的方法来优化求和的过程。 时间复杂度对比: 若使用for循环遍历整个数组 ......
LeetCode111.104二叉树的最大最小深度
题目描述 深度(叶子节点到根节点长度),最大最小深度这里不多赘述。 代码 最大深度 直接上代码: 递归法 import java.util.List; import java.util.ArrayList; import java.util.Deque; import java.util.Linke ......
LeetCode/在树上执行操作以后得到的最大分数
有一棵 n 个节点的无向树,节点编号为 0 到 n - 1 ,根节点编号为 0 。给你一个长度为 n - 1 的二维整数数组 edges 表示这棵树,其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 有一条边。 同时给你一个长度为 n 下标从 0 开始的整数数组 value ......
无限乘积拓扑
还有关于无限乘积部分,大多数书上直接给出乘积空间中开集的样子。其中有限也不知道如何而来。而且Munkres上的解释与符号过于复杂。 \(\left\{X_i\right\}_{i\in I}\) 是一族集合,一个映射 \(x : I\rightarrow \bigcup\limits_{i\in I ......
LeetCode101.对称二叉树
题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 提条的代码 import java.util.List; import java.util.ArrayList; import java.util.Deque; import java.util.LinkedList; imp ......
[LeetCode] 1535. Find the Winner of an Array Game
Given an integer array arr of distinct integers and an integer k. A game will be played between the first two elements of the array (i.e. arr[0] and a ......
leetcode 第一题 两数之和
题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 初级阶段 Java 主要在于 数组定 ......
线性代数 · 矩阵 · Matlab | 满秩分解代码实现
背景 - 矩阵的满秩分解: 若 A 为 m×n 矩阵,rank(A) = r,则存在 F m×r、G r×n,使得 A = FG。 其中,F 列满秩,G 行满秩。 求满秩分解的方法: 得到 A 的行最简形式 B; 对于 B 里某列为 1 该列中其他元素为零的列,取 A 的对应列,组成 F; 取 B ......
【进阶算法】一维数组的前缀和
前缀和是指数组某个索引之前的所有元素的和,是一种重要的预处理手段,使用前缀和可以快速求出数组某一个区间的和。 示例:数组 arr = [8,1,3,-2,5,0,-3,6],输入 m 个询问,每个询问输入一对l, r。对于每个询问,要求输出原数组中从第l个数到第r个数的和。 比如,第 1 次询问,输 ......
3.Sklearn-一元线性回归
1. 导入包 import numpy as np import matplotlib.pyplot as plt from sklearn import linear_model 2. 加载训练数据 # 建立datasets_X和datasets_Y用来存储数据中的房屋尺寸和房屋成交价格。 dat ......
【数值分析】第6章-解线性方程组的迭代法
第6章-解线性方程组的迭代法 \[A\vec{x} = \vec{b} \Leftrightarrow \vec{x} = B\vec{x} + \vec{f} \]建立迭代 \[\vec{x}^{(k+1)} = B \vec{x}^{(k)} + \vec{f} \]B称为迭代矩阵 Jacobi ......
[LeetCode] 2149. Rearrange Array Elements by Sign
You are given a 0-indexed integer array nums of even length consisting of an equal number of positive and negative integers. You should rearrange the ......