前缀和算法 算法4

embedded/2025/3/3 18:07:54/

算法题中帮助复习的知识

vector<int > dp( n ,k); n为数组大小 ,k为初始化

哈希表unordered_map<int  ,int > hash;

hash.find(k)返回值是迭代器  ,找到k返回其迭代器  没找到返回hash.end()

hash.count(k)返回值是数字 ,找到k返回1 ,没找到返回0.

C++和java中 

        负数%正数 = 负数 

处理手段

        (a%k+k)%k  能使不管正负数%正数都为正数

前缀和算法是一种常用的预处理技术,用于高效地计算数组或序列中某个区间的和。 

通过预先计算并存储前缀和,可以在常数时间内查询任意区间的和,从而显著提高查询效率

注意:

        不一定使用数组存储

        hash(unordered_map)可以迅速找到一个数的次数 ,用hash.find()! =hash.end()

或者hash.count != 0

不一定存储的是前缀和 ,也可能是前缀和的余数974. 和可被 K 整除的子数组 - 力扣(LeetCode)

 

这里要灵活变通.


http://www.ppmy.cn/embedded/169680.html

相关文章

C语言实现双向链表

1、概念 单向链表的构成使得节点的访问要按照链表的方向进行,某一单元的后继单元可以直接通过链指针(next指针)找到,但是想要找到其前驱单元,必须从链头重新开始查找。如果在节点中增加一个指针域指向其前驱节点,可以在牺牲空间代价的前提下,减少操作时间的代价。在单向…

SVN 简介

SVN 简介 引言 版本控制系统(Version Control System,VCS)是软件开发过程中不可或缺的工具之一。它能够帮助开发者管理代码的版本,追踪代码变更,协同工作,以及确保代码的稳定性和安全性。Subversion(简称SVN)是一种流行的版本控制系统,本文将为您详细介绍SVN的基本概…

LeetCode 0132.分割回文串 II:动态规划

【LetMeFly】132.分割回文串 II&#xff1a;动态规划 力扣题目链接&#xff1a;https://leetcode.cn/problems/palindrome-partitioning-ii/ 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是回文串。 返回符合要求的 最少分割次数 。 示例 …

阿里管理三板斧课程和管理工具包(视频精讲+工具文档).zip

阿里管理三板斧课程和管理工具包&#xff08;视频精讲工具文档&#xff09;&#xff0c;共18课。 阿里管理三板斧工具包 阿里绩效考核文档 阿里人力资源实践全集文档 阿里文化构建工具包 阿里正委体系工具包 阿里三板斧.pdf 阿里三板斧-学员手册.pdf 第1集 三板斧的底层逻辑.…

版图自动化连接算法开发 00001 ------ 直接连接两个给定的坐标点

版图自动化连接算法开发 00001 ------ 直接连接两个给定的坐标点 引言正文定义坐标点的类绘图显示代码直接连接两个坐标点引言 由于人工智能的加速普及,每次手动绘制版图都会觉得特别繁琐,作者本人在想可否搞一个自动化连接器件端口的算法,后期可以根据一些设定的限制进行避…

代码随想录算法训练营第33天 | 62. 不同路径 63. 不同路径 II 343. 整数拆分 96. 不同的二叉搜索树

62. 不同路径 题目链接&#xff1a; 62. 不同路径 - 力扣&#xff08;LeetCode&#xff09; 代码 class Solution:def uniquePaths(self, m: int, n: int) -> int:dp [[1]*n for _ in range(m)]for i in range(1,m):for j in range(1,n):dp[i][j] dp[i-1][j] dp[i][j…

【OpenCV C++】图像清晰度增强:拉普拉斯锐化,SUM锐化,普通锐化

文章目录 1 普通锐化2. 拉普拉斯 锐化3 SUM锐化1 普通锐化 void sharpenImage(const cv::Mat& frame,float a, float b) {定义一个3x3的锐化核cv

算法日记33:15届蓝桥C++B组R格式(快速幂50%/高精度100%)

一、题目 二、题解一&#xff1a;快速幂&#xff08;50%样例&#xff09; 1、解题思路&#xff1a; 1&#xff09;通过题目我们可以采取最朴素的想法就是先模拟题目的说明 2&#xff09;并且我们发现有乘方出现( ∗ 2 n *2^n ∗2n)&#xff0c;因此我们可以考虑使用快速幂来…