算法比赛
文章平均质量分 96
比赛专栏
timerring
知行合一
展开
-
前缀和算法练习集
文章目录截断数组K倍区间前缀和子矩阵的和激光炸弹截断数组给定一个长度为 n 的数组 a1,a2,…,an。现在,要将该数组从中间截断,得到三个非空子数组。要求,三个子数组内各元素之和都相等。请问,共有多少种不同的截断方法?输入格式第一行包含整数 n。第二行包含 n 个整数 a1,a2,…,an。原创 2023-03-26 10:06:59 · 143 阅读 · 1 评论 -
贪心算法思想与练习
文章目录股票买卖 II货仓选址糖果传递雷达设备贪心的核心思想:最优解,短视。按照数据规模猜测贪心,一般在10510 5 是排序,10610 6 或10710 7 是O(n)的做法,扫描一边,1000左右是两重循环,100左右是三重循环。股票买卖 II给定一个长度为 N 的数组,数组中的第 i 个数字表示一个给定股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多原创 2023-03-23 09:25:01 · 163 阅读 · 1 评论 -
双指针算法模板及练习
文章目录日志统计一般做法用双指针算法改进日志统计小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有 N 行。其中每一行的格式是:ts id表示在 ts 时刻编号 id 的帖子收到一个”赞”。现在小明想统计有哪些帖子曾经是”热帖”。如果一个帖子曾在任意一个长度为 D 的时间段内收到不少于 K 个赞,小明就认为这个帖子曾是”热帖”。具体来说,如果存在某个时刻 T 满足该帖在 [T,T+D) 这段时间内(注意是左闭右开区间)收到不少于 K 个赞,该帖就曾是”热帖”。原创 2023-03-22 09:41:27 · 94 阅读 · 0 评论 -
BFS算法模板与练习
首先,计算机中常用的数据结构是栈和队列。栈:先进后出,通常应用是递归,DFS。队列:先进先出,通常应用是 BFS 。过程如下所示:每次取出队头元素,并且把其拓展的元素放在队尾。原创 2023-03-21 09:34:38 · 546 阅读 · 0 评论 -
线段树模板与练习
文章目录思想核心函数存储方式模板:动态求连续区间和练习:数列区间最大值应用:求区间最大值,求染色面积,长度,最大连续和等等。原创 2023-03-20 09:28:06 · 115 阅读 · 2 评论 -
树状数组模板与练习
文章目录树状数组基本思想模板核心函数模板题:动态求连续区间和数星星树状数组注意:树状数组的坐标一定要从1开始!树状数组的应用主要是:快速(在O(logn)的复杂度内):在某个位置上加上一个数(单点修改)求某一个的前缀和(区间查询)其他的变式都是由这两个基本功能转换而来,例如单点查询,区间修改等等。它与纯前缀和的区别在于可以单点修改。假如直接用前缀和进行单点修改,则它每次都会更新修改值后面的前缀和,因此会导致每个都更新一遍,复杂度为O(n)了。简单的比较:单点修改原创 2023-03-18 20:56:29 · 99 阅读 · 0 评论