acwing 算法基础课知识点解析/模版题
文章平均质量分 74
小小 acmer 成长之路
小新-杂货铺
这个作者很懒,什么都没留下…
展开
-
ACWing--基础算法--贪心(部分题解)
①~⑭为代码中for循环的过程,画了☆的表示这一步是在排序(每次有变化小根堆就会自动排序,将最小的值放到顶部,较大的值往下放,注意:堆只能访问根节点,其余结点无法操作)。②:区间1的右端点大于区间2的左端点,说明两区间有交集,需要重新开一个组,将区间2压入;⑩:区间3的右端点大于区间5的左端点,说明两区间有交集,需要重新开一个组,将区间5压入;④:区间3的左端点大于区间1的右端点,将区间1弹出;⑦:区间4的左端点大于区间2的右端点,将区间2弹出;⑫:区间6的左端点大于区间3的右端点,将区间3弹出;原创 2024-03-18 21:37:11 · 425 阅读 · 0 评论 -
AcWing--803.区间和并
原题:给定 n 个区间 [li,ri],要求合并所有有交集的区间。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。例如:[1,3] 和 [2,6] 可以合并为一个区间 [1,6]。原创 2024-03-17 16:03:55 · 335 阅读 · 0 评论 -
AcWing--802.区间和(离散化)
(百度百科):离散化,就是把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小(这带来的是存储空间得缩小,访问效率的提高,即提高时空效率)。例如:原数据:1,999,100000,15;处理后:1,3,4,2;(1映射到1,999映射到3......)原数据:{100,200},{20,50000},{1,400};处理后:{3,4},{2,6},{1,5};假定有一个无限长的数轴,数轴上每个坐标上的数都是 0。原创 2024-03-15 21:21:22 · 371 阅读 · 0 评论 -
AcWing--798.差分矩阵(差分)
输入一个 n 行 m列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。①先b(x1,y1)+=c ,相当于 图中 a 矩阵(x1,y1)的右下角全部都加 c,即图中的右下角蓝色大矩形;接下来 q 行,每行包含 5 个整数 x1,y1,x2,y2,c,表示一个操作。④这时会发现绿色和红色区域重复的小方块的数据减去了两次 c,所以要加上 c;每个操作都要将选中的子矩阵中的每个元素的值加上 c。原创 2024-02-10 21:32:40 · 458 阅读 · 0 评论 -
AcWing--801.二进制中1的个数(位运算)
n & -n电脑存的是二进制的补码,正数的补码是它本身,负数的补码是原码按位取反再加一01010的最后一个 1 为 100101000的最后一个 1 为 1000举例:十进制数 10,对应的二进制原码为01010(首位0表示正数)十进制数-10,对应的二进制原码为 11010(首位1表示负数)11010的按位取反为:10101,再加一为:10111010101011100010所以最后结果为10,即为十进制数 10 转化为二进制后最后一个1。原创 2024-02-09 22:22:29 · 347 阅读 · 0 评论 -
埃氏筛 欧拉筛 c++
1.素数是仅能被它本身和1整除的任何整数。2.埃拉托斯特尼筛法,简称埃氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数剔除,剩下的就是素数。3.判断一个数是不是素数,我们只用判[2,n]内有没有它的因子。在筛合数的时候也可以这样做,因为一个合数的最小质因子一定小于等于n。证明如下:设n为合数,那么n必有两个约数a,b 使得a*b=n。则a、b两个数中必有一个大于等于n,一个小于等于。原创 2023-07-13 17:05:26 · 254 阅读 · 1 评论