上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
  2025年3月28日
摘要: 算法思想 普通的线段树一般是求区间之和或区间最值,所以这些线段树的每个节点的下标是原数组中的区间范围,每个节点存的是区间和或最值,而权值线段树的每个节点的下标是数组中元素的值,而权值线段树每个节点存的是当前元素出现的次数。 但是题目的数据可能很大,元素可能是- 1 0 9 10^9 109 ~ 1 阅读全文
posted @ 2025-03-28 21:18 fish2012 阅读(12) 评论(0) 推荐(0)
  2025年3月22日
摘要: 前置知识:整体二分 这道题在整体二分模版题的基础上又增加了一个单点的修改,实际上很简单,既然是单点修改那么就在查的时候改就行了。 具体怎么改呢?比如维护数量的树状数组里 b i t [ x ] bit[x] bit[x]的值为 1 1 1,但是我们有一个修改操作要将 x x x改为 y y y,所以 阅读全文
posted @ 2025-03-22 16:22 fish2012 阅读(4) 评论(0) 推荐(0)
摘要: 2048的人生历程 2025.3.25 【修改第1次】 2025.3.29 【修改第2次】 2025.3.29 【修改第3次】 //一个类似消消乐的小游戏,通过2,4,6,8来控制上下左右滑动,相同的数字可以相加变为新的数字,并获得相应分数 //到无法再移动消除数字时游戏结束 //7 8 9 //4 阅读全文
posted @ 2025-03-22 11:51 fish2012 阅读(7) 评论(0) 推荐(0)
  2025年3月18日
摘要: 算法思想 整体二分,带有二分二字那么就一定和二分脱不了干系。 整体二分算法常用来解决询问区间的第 k k k小值的问题,思路如下: 我们二分的对象是这道题目给定的值域,及最小值与最大值之间的区间,在题目给定的数组中,对整体的值域进行二分,我们将 m i d mid mid作为左右区间的中间值。 比如 阅读全文
posted @ 2025-03-18 22:07 fish2012 阅读(6) 评论(0) 推荐(0)
  2025年3月14日
摘要: 一大波模版题正在来袭 难度不一定递增,但应该是大致递增的难度。 【模板】快速读入 #include<bits/stdc++.h> using namespace std; int sum; int in(){ int k=0,f=1; char c=getchar_unlocked(); while 阅读全文
posted @ 2025-03-14 21:40 fish2012 阅读(15) 评论(0) 推荐(0)
  2025年3月8日
摘要: 核心思想 每个位置的覆盖范围由二进制最低位的 1 1 1决定。 例如: 索引 6 6 6(二进制为 110 110 110) 管理 2 2 2个元素( 5 5 5到 6 6 6) 索引 8 8 8(二进制为 1000 1000 1000) 管理 8 8 8个元素( 1 1 1- 8 8 8) 那这个 阅读全文
posted @ 2025-03-08 15:41 fish2012 阅读(9) 评论(0) 推荐(0)
  2025年3月7日
摘要: 直接说不太好讲,用一道题来帮助理解。 题目传送门 十分简单的一道题,可以用前缀和解,但是也可以用分块。 在莫队算法讲解及例题中讲过当每个块的大小为 n \sqrt{n} n ​时时间复杂度最优,所以这道题也按照 n \sqrt{n} n ​来分块。 先来列举一个例子。 比如说我们询问 a 1 a_1 阅读全文
posted @ 2025-03-07 21:17 fish2012 阅读(8) 评论(0) 推荐(0)
  2025年3月1日
摘要: 题目传送门 上图是归并排序的过程。 #include<bits/stdc++.h> using namespace std; const int N=1e5+5; int a[N]; int b[N]; int n; void f(int l,int r){ if(l>=r)return; int 阅读全文
posted @ 2025-03-01 23:06 fish2012 阅读(6) 评论(0) 推荐(0)
摘要: 题目传送门 首先看标签,好的线段树 有区间的修改,有区间的查询,数据范围 1 ≤ n , m ≤ 1 0 5 1≤n,m≤10^5 1≤n,m≤105,那么就可以考虑用线段树来解。 线段树在之前的文章已经讲过了,这里就不多说,直接进入正题。 这里的区间查询就是普通的一个求和,所以就不用做什么改动。 阅读全文
posted @ 2025-03-01 22:13 fish2012 阅读(5) 评论(0) 推荐(0)
  2025年2月22日
摘要: 莫队的思想 对于区间查询数字出现次数的问题,我们可以使用莫队。 比如,当询问区间是 1 1 1~ n n n时,可以通过 O ( N ) O(N) O(N)的复杂度解决。 那接下来再询问 2 2 2~ n n n或者 1 1 1~ n n n − - − 1 1 1时,就可以通过 O ( 1 ) O 阅读全文
posted @ 2025-02-22 16:59 fish2012 阅读(4) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 ··· 10 下一页