ACM算法
7丨
这个作者很懒,什么都没留下…
展开
-
【2022牛客暑期多校训练营3】J-Journey
【"蔚来杯"2022牛客暑期多校训练营3】J-Journey(dijkstra)原创 2022-07-27 15:22:37 · 172 阅读 · 0 评论 -
c++实用函数
vector (1)v.erase(it); //it为迭代器,可简单理解为指针 删除指定位置it处元素。 (2)v.erase(pos, len); //pos为实数,代表起始位置,len为实数,代表要删除的长度 删除从pos下标开始的len个元素。 (3)v.erase(first, last); 删除从first到last之间的字符(first和last都是迭代器) (4)v.insert(it, val); //it为迭代器, val为实数值 在指定位置it处插入元素,值为va.原创 2022-03-13 11:26:22 · 140 阅读 · 0 评论 -
尺取法(U144038 尺取裸题)
尺取法顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以说尺取法是一种高效的枚举区间的方法,是一种技巧,一般用于求取有一定限制的区间个数或最短的区间等等。当然任何技巧都存在其不足的地方,有些情况下尺取法不可行,无法得出正确答案,所以要先判断是否可以使用尺取法再进行计算。1、 什么情况下能使用尺取法? 2、何时推进区间的端点?原创 2020-12-06 00:51:17 · 105 阅读 · 0 评论 -
分治法 && 动态规划 洛谷P1115 最大子段和
题目P1115 最大子段和本题可采用两种方法一、分治法(时间复杂度:logn)*分治法可以通俗的解释为:把一片领土分解,分解为若干块小部分,然后一块块地占领征服,被分解的可以是不同的政治派别或是其他什么,然后让他们彼此异化。*分治法使用场景该问题的规模缩小到一定的程度就可以容易的解决。该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。 利用该问题分解出的子问题的解可以合并为该问题的解。 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子问题*分解:将原创 2020-12-06 00:29:18 · 423 阅读 · 0 评论 -
(一维前缀和) 洛谷P1614 爱与愁的心痛
题目洛谷P1614 爱与愁的心痛利用一维前缀和可以轻松求解。代码如下:#include<bits/stdc++.h>const int N=3e3+5, inf=0x3f3f3f3f;int a[N],sum[N]={0};using namespace std; int main(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; sum[i]=sum[i-1]原创 2020-12-04 21:34:28 · 285 阅读 · 0 评论 -
洛谷U144024 前缀和裸题 &&一二维前缀和讲解
前缀和一、一维前缀和基本公式1.sum[i] = sum[i-1] + a[i];2.q~r区间的和为sum[r]-sum[q-1];较为简单,其余不再赘述。二、二维前缀和二维前缀和数组里面的每个元素,都代表原数组中该元素左上方的数字和。如图为prefixSum[2, 2] = src[0~2, 0~2]的和。二维前缀和数组共有四种情况:1.i0 && j0,只有一个直接赋值即可:prefixSum[0, 0] = src[0, 0]。2.i0,最左边的一排,图中黄原创 2020-12-04 00:15:24 · 556 阅读 · 0 评论 -
结构体sort排序
结构体自定义排序:sort(first, last, cmp)原创 2020-12-03 22:26:16 · 1886 阅读 · 2 评论