拓扑 前缀 线性leetcode

[LeetCode] 85. Maximal Rectangle_Hard tag: Dynamic Programming

Given a rows x cols binary matrix filled with 0's and 1's, find the largest rectangle containing only 1's and return its area. Example 1: Input: matri ......

C. Square Subsets 线性基

题意:给出n个数字,我们成一个不为空的子序列为好,当其内所有元素乘积为一个完全平方数的时候。问有多少好的子序列。 做法:我发现给出的样例结果很有意思。,都是2的k次方减1。 对于一个数,根据算数基本定理,可以得出,我们把素因子抽象为线代中的秩。于是子序列中的相乘,就等于该维度上的相加。可以得出一个有 ......
线性 Subsets Square

F. Mahmoud and Ehab and yet another xor task 线性基

Problem - F - Codeforces 题意:给出一个长度为n的数组,然后给出q次询问。 对于每次询问,给出一个l和一个x,请你求出在[1,l]这个区间内,有多少个子序列是好的,好的的定义是这个子序列的异或和为x。 做法:考虑线性基,先离线处理询问,对其l排序。然后对于l,求该情况下的线性 ......
线性 and Mahmoud another Ehab

拓扑排序

在图论中,拓扑排序是有向无环图(DAG) 所有顶点的线性序列 若存在一条从顶点A 到顶点B 的路径,那么在序列中顶点A出现在 顶点B的前面 此图全部顶点被输出:说明说明图中无「环」存在, 是 AOV 网 没有输出全部顶点:说明图中有「环」存在,不是 AOV 网 必需概念 : 入度 -- 顶点x作为例 ......
拓扑

leetcode 二叉树的最大深度

给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:3 示例 2: 输入:root = [1,null,2] 输出:2 解题思路 这里可以转化思路为 ......
深度 leetcode

Codeforces Round 772 (Div. 2) E.Cars 二分图染色/拓扑排序

Cars 二分图染色/拓扑排序 题意 坐标轴 $X$ 上有 $n$ 辆汽车。每辆车最初位于一个整数点,并且没有两辆车位于同一点。此外,每辆车都可以向左或向右定向地、可以随时以任何恒定的正速度地沿该方向移动。定义两种关系: 如果两辆汽车无论速度如何都永远不会到达同一点,我们称它们为 无关紧要的。换句话 ......
拓扑 Codeforces Round Cars 772

Leetcode(Hash)

1.the sum of two nums 1.1Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. 1.2 ......
Leetcode Hash

Leetcode 27. 移除元素

题目描述 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 双指针 Python 实现 ......
Leetcode 元素 27

leetcode547省份数量

深度优先搜索 vector<bool>vis; int num=0; void dfs(vector<vector<int>>& isConnected,int x){ vis[x]=true; for(int i=0;i<isConnected[x].size();i++){ if(!vis[i] ......
省份 leetcode 数量 547

LeetCode -- 1462. 课程表 IV (拓扑排序,二进制集合)

本题我们要快速的判断一个点在拓扑序中是不是另一个点的前驱,先求出拓扑序,在利用二进制代表集合来进行前驱的判断。 class Solution { public: const static int N = 110, M = N * N; int h[N], e[M], ne[M], idx; int ......
课程表 拓扑 二进制 LeetCode 课程

前缀和变形 + 哈希表

前缀和变形 + 哈希表 统计趣味子数组的数目 解题思路: 设 \[s_i = \sum_{i = 1} ^ n{nums[i] \% module == k} \]题目求满足$s_r - s_{l-1} \equiv k \pmod {module} $的子数组的个数。 公式转换: \[\begin ......
前缀

算法训练day7 LeetCode454

算法训练day7: LeetCode454.383.15.18 454.四数相加 题目 454. 四数相加 II - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) class Solution { public: int fourSumCount(vector ......
算法 LeetCode day7 day 454

前缀和与差分

1.前缀和 一维数组 #include<iostream> using namespace std; const int N=1e5+10; int main() { int n,m,a[N],sum[N]={0}; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++ ......
前缀

线性排序

线性排序(Linear sort) 在 Python 中,你可以使用列表(list)来创建一个指定大小的数组。以下是一个示例: # 创建一个长度为 10 的数组,所有元素都初始化为 0 arr = [0] * 10 这段代码会创建一个包含 10 个元素的列表,所有元素都初始化为 0。 如果你想要创建 ......
线性

【Leetcode】解题报告Day1~Day2

解题报告 Day1 1. 2235.两数之和 给你两个整数 num1 和 num2,返回这两个整数的和。 示例 1: 输入:num1 = 12, num2 = 5 输出:17 解释:num1 是 12,num2 是 5 ,它们的和是 12 + 5 = 17 ,因此返回 17 。 示例 2: 输入:n ......
Day Leetcode 报告 Day1 Day2

LeetCode 1934.确认率

1934.确认率 1.问题关键精炼: 确认率是confirmed消息的数量除以请求的确认消息的总数。 没有请求任何确认消息的用户的确认率为0。 确认率四舍五入到小数点后两位 2.难点解析: 我觉得这道题是考察AVG函数的使用。 根据需求可以看出,答案也就是一个公式:confirmed消息的数量 / ......
LeetCode 1934

leetcode841钥匙和房间

使用深度优先遍历构造的图,只要访问过就标记已访问 int num=0; vector<bool>vis; void dfs(vector<vector<int>>& rooms,int x){ vis[x]=true; num++; for(auto& v:rooms[x]){ if(!vis[v] ......
leetcode 钥匙 房间 841

leetcode450删除搜索二叉树的节点

删除的二叉树节点分4种情况: 叶子节点,直接删除就行 左节点不为空,右节点为空;直接将左子树返回 左节点为空,右节点不为空;直接将右子树返回 左节点和右节点不为空;将右子树最小的节点作为根节点,返回右子树 TreeNode* deleteNode(TreeNode* root, int key) { ......
节点 leetcode 450

Leetcode 26. 删除有序数组中的重复项

题目描述 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 双指针 Python 实现 def removeDuplicates(nums: List[ ......
数组 Leetcode 26

LeetCode287——寻找重复数

给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间。 示例 1: 输入 ......
LeetCode 287

LeetCode523——连续的子数组和

给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组: 子数组大小 至少为 2 ,且 子数组元素总和为 k 的倍数。 如果存在,返回 true ;否则,返回 false 。 如果存在一个整数 n ,令整数 x 符合 x = n * k ,则称 x ......
数组 LeetCode 523

leetcode - 翻转二叉树

给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 示例 2: 输入:root = [2,1,3] 输出:[2,3,1] 示例 3: 输入:root = [] 输出:[] 这题比较 ......
leetcode

LeetCode98:验证二叉搜索树,居然有这么简单的中等难度,白捡(用时击败100%)

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于LeetCode98 做这道题之前,我反复审题,最后确认:没错,不存在什么坑,这道题确实非常非常简单,然而却被官方定义为中等难度 这一定是送分,白捡一 ......
LeetCode 难度 100% 98

算法训练day6:哈希基础、LeetCode242

算法训练day6:哈希基础、LeetCode242.349.202.两数之和 哈希基础: 一般哈希表都是用来快速判断一个元素是否出现集合里。 以空间换时间 使用集合来解决哈希问题的时候,优先unordered_set,因为它的查询和增删效率是最优的,如果需要集合是有序,那么就用set,如果要求不仅有 ......
算法 LeetCode 基础 day6 day

前缀和 与 区间

思想 a ~ b区间可以转换为 0 ~ b - 0 ~ (a - 1) 用这种前缀和的思想,可以快速枚举所有合格条件的自区间。 class Solution: def subarraySum(self, nums: List[int], k: int) -> int: m = dict() m[0] ......
前缀 区间

线性基模板

插入 第 \(k\) 小 排名 最大异或和 struct basis { vector<ll>s; void insert(ll val) { for(int x:s)val=min(val,val^x); for(int &x:s)x=min(x,x^val); if(val)s.push_bac ......
线性 模板

非线性电路

![image](https://img2023.cnblogs.com/blog/2954438/202309/2954438-20230911195331234-1587311170.png) ![image](https://img2023.cnblogs.com/blog/2954438/2... ......
非线性 电路

拓扑排序

......
拓扑

[刷题记录Day 31]Leetcode贪心算法

No.1 题目 分发饼干 思路 局部最优原则,大饼干优先满足大胃口孩子 倒序遍历数组 代码 public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); int satisfied = 0; in ......
算法 Leetcode Day 31

[刷题记录Day 32]Leetcode贪心算法

No.1 题目 买卖股票的最佳时机 II 思路 贪心 利润拆分:不需要看长期,只看2天为单位的收益 要够贪心,每一次明天会涨就买入,明天卖掉,不断累积收益 代码 public int maxProfit(int[] prices) { int sum = 0; for (int i = 0; i + ......
算法 Leetcode Day 32