题目
有一个初始为空的数组,你需要处理q(q<1e6)次操作,操作分四种:
① x,数组后面加一个新的数x
② - k,删掉数组最后面的k个值
③ !,回滚最后一次变更(只有①操作和②操作视为变更&…
给你一个 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:
输入&a…
解析: 100数据量,两层遍历每个区间,然后前缀和计算1的个数,维护最大值即可。
#include<bits/stdc.h>
using namespace std;
#define int long long
const int N110;
int n,a[N],res,sum[N];
signed main(){scanf("%ll…
DP一生之敌 learn from AC-Panda and codeforces’s Tutorial
思路 d p [ i ] dp[i] dp[i] 表示以 a [ i ] a[i] a[i] 结尾的方案数, s u m [ i ] sum[i] sum[i] 表示 ∑ j 1 i d p j \sum\limits_{j1}^idp_j j1∑idpj 。对于 d p [ i ] dp[i] dp[i] 当 …
A 统计对称整数的数目 枚举 x x x class Solution {
public:int countSymmetricIntegers(int low, int high) {int res 0;for (int i low; i < high; i) {string s to_string(i);if (s.size() & 1)continue;int s1 0, s2 0;for (int k 0; k < s.size(); k)if …
【LetMeFly】2132.用邮票贴满网格图:二维前缀和 二维差分
力扣题目链接:https://leetcode.cn/problems/stamping-the-grid/
给你一个 m x n 的二进制矩阵 grid ,每个格子要么为 0 (空)要么为 1 (被占据&…
链接和思路
OJ链接:传送门
对于平面直角坐标系上的坐标 ( x , y ) (x,y) (x,y),定义如下两种操作:
拉伸 k k k倍:横坐标 x x x变为 k x kx kx, 纵坐标 y y y 变为 k y ky ky;旋转 θ \theta θ …
一、题目
1、题目描述
小蓝要去健身,它可以在接下来的 1 ~ n n n 天中选择一些日子去健身。
它有 m m m 个健身计划,对于第 i i i 个健身计划,需要连续的 2 k i 2^{k_i} 2ki 天,如果成功完成,可以获得健身增益…
文章目录 0)概述1)一维前缀和2)二维前缀和 0)概述
因为前缀和这个板子的推导比较简单,因此本博客重点在于知识点归纳而不在于证明
1)一维前缀和
一维数组的前缀和计算公式: s [ i ] ∑ i 1…
题目
地图上有 N N N 个目标,用整数 X i , Y i X_i,Y_i Xi,Yi 表示目标在地图上的位置,每个目标都有一个价值 W i W_i Wi。
注意:不同目标可能在同一位置。
现在有一种新型的激光炸弹,可以摧毁一个包含 R R RR RR 个…
2023每日刷题(三十四)
Leetcode—53.最大子数组和 前缀和算法思想
参考灵茶山艾府
实现代码
#define MAX(a, b) ((a > b) ? (a) : (b))
#define MIN(a, b) ((a < b) ? (a) : (b))
int maxSubArray(int* nums, int numsSize) {int ans INT_…
A 有序三元组中的最大值 I 参考 B B B 题做法… class Solution {
public:using ll long long;long long maximumTripletValue(vector<int> &nums) {int n nums.size();vector<int> suf(n);partial_sum(nums.rbegin(), nums.rend(), suf.rbegin(), [](int x…
这场没考什么算法,比较水,难度也不是很高。比赛链接
硬要说的话E有个 前缀和 加 二分,F是数学BFS,G是个构造 A. Turtle Puzzle: Rearrange and Negate
题意:
给你一个由 n n n 个整数组成的数组 a a a 。您必须对…
分析: 记录所有区间和给定的每一次的询问,二分询问的最小满足条件,可以通过前缀和来计算区间内有几个1。
代码:
#include <bits/stdc.h>#define x first
#define y secondusing namespace std;typedef long long ll;
type…
文章目录 前缀和前缀和例题题意 差分差分例题及code↓模版例题输入样例:输出样例: code↓ 前缀和
前缀和定义: 前缀和数组的第 i i i 位即为原数组 1 1 1 ~ i i i 位的和
原数组: 1 2 3 4 5
前缀和数组࿱…
一、环境说明
本文是 LeetCode 862. 和至少为 K 的最短子数组,使用C实现。单调双端队列前缀和数组测试环境:Visual Studio 2019。
二、代码展示
c代码
class Solution {
public:int shortestSubarray(vector<int>& nums, int k) {int n nums.size();…
题目内容 原题链接 给定一个长度为 n n n 的数组 a a a 和一个长度为 m m m 的数组 b b b 。
从数组 a a a 中挑出两个数,作为两条平行于 y y y 轴的直线,数组 b b b 中挑出两个数,作为两条平行于 x x x 轴的直线,问这四…
Problem - 466C - Codeforces
Number of Ways - 洛谷 解析: 首先判断所有数总和是否能被三整除。 之后遍历前缀和数组,如果某个位置的前缀和等于sum/3,则记录。 某个位置前缀和等于sum/3*2则记录答案。 注意由于分成三份,所以同…
目录题目:1738. 找出第 K 大的异或坐标值示例1示例2示例3示例4提示:解题思路解题代码题目:1738. 找出第 K 大的异或坐标值
难度: 中等
题目: 给你一个二维矩阵 matrix 和一个整数 k ,矩阵大小为 m x n 由…
题目链接 Leetcode.560 和为 K 的子数组 mid 题目描述
给你一个整数数组 n u m s nums nums 和一个整数 k k k ,请你统计并返回 该数组中和为 k k k 的子数组的个数 。
子数组是数组中元素的连续非空序列。
示例 1: 输入:nums [1,1,1]…
2023每日刷题(十九)
Leetcode—1588.所有奇数长度子数组的和 直接法实现代码 int sumOddLengthSubarrays(int* arr, int arrSize){int i 1;int sum 0;int left 0, right;int k;int j 0;while(i < arrSize) {for(left 0; left < arrSize; lef…
文章目录 🎤1. 题目🎤2. 算法原理🎤3. 代码实现 🎤1. 题目 题目链接:1314. 矩阵区域和 - 力扣(LeetCode) 给你一个 m x n 的矩阵 mat 和一个整数 k ,请你返回一个矩阵 answer &#…
前缀和思维导图: 一维前缀和算法模版:
#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 1; i < n; i){int x;scanf("%d", &…
题目链接 Leetcode.974 和可被 K 整除的子数组 rating : 1676 题目描述
给定一个整数数组 n u m s nums nums 和一个整数 k k k ,返回其中元素之和可被 k k k 整除的(连续、非空) 子数组 的数目。
子数组 是数组的 连续 部分。
示例 1&…
给出一个长为 N N N 的整数数组 A A A 和一个整数 K K K。
请问有数组 A A A 中有多少个子数组,其元素之和为 K K K?
输入格式
第一行两个整数 N N N 和 K K K,表示数组 A A A 的大小,和给出的整数 K K K。
第二行 …
A. New Palindrome
题意:
给定一个回文字符串,问是否可以调换其中两个字符,得到另一个不同的回文字符串。
思路:
题目的条件给的宽松,只是询问是否可以调换,并没有要求调换的位置。 方法一:…
A 3069. 将元素分配到两个数组中 I 模拟 class Solution {
public:vector<int> resultArray(vector<int> &nums) {vector<int> r1{nums[0]}, r2{nums[1]};for (int i 2; i < nums.size(); i) {if (r1.back() > r2.back())r1.push_back(nums[i]);e…
1230. K倍区间
题目链接 给定一个长度为 N 的数列,A1,A2,…AN,如果其中一段连续的子序列 Ai,Ai1,…Aj 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。
你能求出数列中总共有多少个 K 倍区间吗?
输入格式 第一行包含两个…
2023每日刷题(二十二)
Leetcode—2731.移动机器人 算法思路
参考自灵茶山艾府
实现代码
class Solution {
public:const int MOD 1e9 7;int sumDistance(vector<int>& nums, string s, int d) {int n nums.size();vector<long long…