首页 > 编程语言 >基础算法:二分,贪心等 学习笔记

基础算法:二分,贪心等 学习笔记

时间:2023-06-22 10:23:11浏览次数:51  
标签:二分 前缀 int 笔记 降维 算法 预处理 贪心

普及组基础算法

这些都是零零散散接触过的基础算法,写个笔记把这些整理到一起来。

线性降维技巧

之前在学校洛谷团队里看到一个题单,觉得这些技巧可能有用,就转存了。

前缀和 差分

前缀和是一种对区间求和问题进行降维的方法。具体地,对于给定数组 \(A[n]\),求出 \(A[l,r]\) 区间和这个问题,朴素的方法时间复杂度为 \(O(n)\),使用前缀和进行一次 \(O(n)\) 的预处理后,可以 \(O(1)\) 进行查询。
实现方法:

int n;
int a[100],f[100]; // f[]为预处理数组,f[i]表示a[1]到a[i]的和

cin >> n;
for (int i=1;i<=n;i++){
    cin >> a[i];
    f[i]=f[i-1]+a[i]; // 预处理:前缀和的递推计算方法
}

// 查询:a[l,r]的和是:f[r]-f[l-1]

标签:二分,前缀,int,笔记,降维,算法,预处理,贪心
From: https://www.cnblogs.com/JXOIer-zaochen/p/17497534.html

相关文章

  • 代码随想录Day32|贪心II
     今日任务●  122.买卖股票的最佳时机II ●  55. 跳跃游戏 ●  45.跳跃游戏II ●  1005.K次取反后最大化的数组和 ●  134. 加油站●  135. 分发糖果 122.买卖股票的最佳时机IIclassSolution:defmaxProfit(self,prices:List[int]......
  • 【数据结构与算法】用队列实现栈
    ......
  • 一文全解析KMP算法
    假设现在我们面临这样一个问题:有一个文本串S,和一个模式串P,现在要查找P在S中的位置,怎么查找呢?如果用暴力匹配的思路,并假设现在文本串S匹配到i位置,模式串P匹配到j位置,则有:如果当前字符匹配成功(即S[i]==P[j]),则i++,j++,继续匹配下一个字符;如果失配(即S[i]!=P[j]),令i=i-(j......
  • 最近公共祖先-算法学习
    问题提出如何计算树上任意两点x和y的最近公共祖先呢?通俗地理解-假设在一棵二叉树中,有两个节点和那么该如何求这两个节点的最近公共祖先节点如下图,节点和节点的最近公共祖先节点是思路解析假设一个节点的深度为,这可以通过一次DFS预处理出来。那么这里如何进行预处理呢?单......
  • 代码随想录算法训练营第43天 | ● 1049. 最后一块石头的重量 II ● 494. 目标和
     第九章 动态规划 part05●  1049. 最后一块石头的重量 II ●  494. 目标和 ●  474.一和零    详细布置   1049. 最后一块石头的重量 II  本题就和 昨天的 416. 分割等和子集 很像了,可以尝试先自己思考做一做。 视频讲解:https://www......
  • 基于粒子群算法的电力系统最优潮流 以IEEE30节点的六机为对象,建立考虑功率平衡、机组
    基于粒子群算法的电力系统最优潮流 以IEEE30节点的六机为对象,建立考虑功率平衡、机组爬坡约束、出力限制约束的电力系统经济调度模型,采用粒子群算法对模型进行求解,得到六个机组的最优运行计划,确定系统最优运行成本。这段程序主要是一个基于粒子群优化算法(PSO)的电力系统调度程序......
  • 含分布式电源的基于粒子群算法的配电网重构算法:改进粒子群算法 优化目标:有功网损最
    含分布式电源的基于粒子群算法的配电网重构算法:改进粒子群算法优化目标:有功网损最小潮流计算模型:前推回代法计算模型采用IEEE33节点标准模型输出结果如”下图片所示.文件含:MATLAB程序、Visio模型图和程序框图、输出结果图、参考文献。这个程序主要是一个粒子群算法,用于解......
  • 数据挖掘中的机器学习算法研究
    目录数据挖掘中的机器学习算法研究是人工智能领域中的重要方向之一。机器学习是指通过计算机算法,让计算机从数据中自动提取规律和特征,从而实现对数据的分析和决策。在数据挖掘中,机器学习算法起着至关重要的作用,能够实现对大量数据的自动学习和分析,为实际应用提供重要的支持。本文......
  • 完美解决方案-雪花算法ID到前端之后精度丢失问题
    packagecom.wl.dep_vue.config;importcom.fasterxml.jackson.databind.ObjectMapper;importcom.fasterxml.jackson.databind.module.SimpleModule;importcom.fasterxml.jackson.databind.ser.std.ToStringSerializer;importorg.springframework.boot.autoconfigure.......
  • matlab的基于遗传算法优化bp神经网络多输入多输出预测模型
    matlab的基于遗传算法优化bp神经网络多输入多输出预测模型,有代码和EXCEL数据参考,精度还可以,直接运行即可,换数据OK。原创文章,转载请说明出处,资料来源:http://imgcs.cn/5c/632809753171.html这个程序是一个基于遗传算法优化的BP神经网络多输入两输出模型。下面我将对程序进行详细分析......