代码编织梦想

c++ 二维差分 二维前缀和逆运算 差分矩阵-爱代码爱编程

输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c ,其中 (x1,y1) 和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的

c++ 二维前缀和 子矩阵的和-爱代码爱编程

输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x1,y1,x2,y2 ,表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数 n,m

(力扣)1314.矩阵区域和-爱代码爱编程

给你一个 m x n 的矩阵 mat 和一个整数 k ,请你返回一个矩阵 answer ,其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和:  i - k <= r <= i + k, j - k <= c <= j + k 且(r, c) 在矩阵内。 示例 1: 输入:mat = [

每日oj题_算法_前缀和②_牛客dp35 【模板】二维前缀和-爱代码爱编程

目录 二维前缀和原理 ②牛客DP35 【模板】二维前缀和 解析代码 二维前缀和原理         在一维数组前缀和算法的基础上,想到:计算二维数组前缀和,不就和计算一维数组前缀和一样,即计算每一个位置的前缀和就相当于: 此位置的前缀和 = 这个位置的值 + 此位置前的前缀和 Eg:s[3][1] = a[0][0] + a[0][1

每日oj题_算法_前缀和⑧_力扣1314. 矩阵区域和-爱代码爱编程

目录 力扣1314. 矩阵区域和 解析代码 力扣1314. 矩阵区域和 1314. 矩阵区域和 难度 中等 给你一个 m x n 的矩阵 mat 和一个整数 k ,请你返回一个矩阵 answer ,其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和:  i - k <= r <= i +

每日算法打卡:子矩阵的和 day 8-爱代码爱编程

文章目录 原题链接题目描述输入格式输出格式数据范围输入样例:输出样例: 题目分析示例代码 原题链接 796. 子矩阵的和 题目难度:简单 题目描述 输入一个 n 行 m

leetcode 1658. 将 x 减到 0 的最小操作数-爱代码爱编程

1658. 将 x 减到 0 的最小操作数 【前缀和+双指针】如果我们只考虑使用双指针的话,比如i从0开始,j从n - 1开始,sum是从0到i和从j到n - 1的数之和,那么当i向右移动的时候,总和是增大的,如果此时sum比x

【华为od题库-爱代码爱编程

题目 小明玩一个游戏。系统发1+n张牌,每张牌上有一个整数。第一张给小明,后n张按照发牌顺序排成连续的一行。需要小明判断,后n张牌中,是否存在连续的若干张牌,其和可以整除小明手中牌上的数字. 输入描述: 输入数据有多

前缀和算法 -爱代码爱编程

 个人主页:Lei宝啊  愿所有美好如期而遇 目录 本题链接 输入描述 输出描述 算法分析 算法一:暴力求解 算法二:前缀和 预处理前缀和dp表 使用前缀和dp表 解题源码 我们以一道题目为例详解一维前缀和原理。    本题链接 【模板】前缀和_牛客题霸_牛客网  输入描述 首先第一行输入两个整数,n和q,

前缀和算法总结(例题:激光炸弹)-爱代码爱编程

前缀和思维导图 一维前缀和算法模版 #include <iostream> using namespace std; const int N = 100010; int n, m; int s[N]; int main() { scanf("%d%d", &n, &m); for (int i

前缀和算法 -爱代码爱编程

 个人主页:Lei宝啊  愿所有美好如期而遇   本题链接 【模板】二维前缀和_牛客题霸_牛客网  输入描述 n是行,m是列,q是查询次数,x1,y1,x2,y2是二维数组的下标。 输出描述 通过两对下标,计算这两对下标构成的这个子矩阵的和。 算法分析 算法一:暴力求解 直接遍历数组,我们考虑最坏情况就是q次查询都是从头遍

atcoder beginner contest 331 题解 a-爱代码爱编程

目录 A - TomorrowB - Buy One Carton of MilkC - Sum of Numbers Greater Than MeD - Tile PatternE - Set Meal

hyperregular bracket strings-爱代码爱编程

Hyperregular Bracket Strings 题意: 给出n和k,有k组区间l,r,要求满足每个区间都是匹配的括号序列,且自己整体也是一个匹配的括号序列,长度为n,求满足条件的括号序列的数量,答案对99824

subsequence addition (easy and hard version)_g1. subsequence addition (easy version)-爱代码爱编程

Problem - G2 - Codeforces 解题思路: 题目大意是:对于一组数据,它的原始序列是 1,其余的数字是由 1 衍生的数字. 例如一个数组{5,1,3,2,1}: 开始时是 {1},然后 {1,1},(1+1=2)->{1,2,1},(1+2=3)->{1,3,2,1},(1+1+3=5)->{5,1,3

【算法刷题】day24-爱代码爱编程

文章目录 1. 删除并获得点数题干:算法原理:1. 状态表示:2. 状态转移方程3. 初始化4. 填表顺序5. 返回值 代码: 2. 连续数组题干:算法原理:(前缀和 + 哈希表)代码: 3

leetcode 2488. 统计中位数为 k 的子数组-爱代码爱编程

2488. 统计中位数为 K 的子数组     【前缀和 + 哈希】把小于k的当做-1,大于k的当做1,那么通过前缀和计算出的一段区间内得分为0或者1就说明符合要求。 class Solution { public int countSubarrays(int[] nums, int k) { int n = nums.le

leetcode 1605. 给定行和列的和求可行矩阵-爱代码爱编程

1605. 给定行和列的和求可行矩阵     【贪心 + 前缀和】每次选当前位置行和列上限的最小值,这个上限随着我们填充数字在不断减小,所以需要记录已经填的数字的行列总和。 class Solution { // 5 0 0 // 3 4 0 // 0 2 8 public int[][] restoreMatr

【算法基础】基础算法(二)-爱代码爱编程

一、高精度 当一个数很大,大到 int 无法存下时,我们可以考虑用数组来进行存储,即数组中一个位置存放一位数。 但是对于数组而言,一个数顺序存入数组后,对其相加减是很简单的。但是当需要进位时,还是很麻烦的,因为要将整个数组全都往后移动一位,将最高位的进位位置空出来,这个操作的时间复杂度是 O(n) 。 不过,我们有一种方法可以很好的解决进位

【题解】洛谷 p2353 背单词-爱代码爱编程

原题链接:P2353 背单词 题目背景 小明对英语一窍不通,令老师十分头疼。于是期末考试前夕,小明被逼着开始背单词…… 题目描述 老师给了小明一篇长度为

【贪心算法】【中位贪心】leetcode:100123.执行操作使频率分数最大-爱代码爱编程

涉及知识点 双指针 C++算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 贪心算法 题目 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 你可以对数组执行 至多 k 次操作: 从