摘要: 分块算法的思想是通过适当的划分,通过预处理,用空间换取时间,达到时空平衡 基本操作是,将一段序列,分成一定数量的块,每一块有一个长度,表示一段区间一般来讲,块的大小常设为$\sqrt{n}$,但实际上块的大小可以任意自定,不过肯定是要让复杂度尽可能的低分块的效率虽然低于树状数组和线段树,但代码实现相 阅读全文
posted @ 2022-02-08 21:28 little_sheep_xiaoen 阅读(163) 评论(0) 推荐(0)
摘要: 题干 由题意得,需要区间修改,区间查询 所以这个题可以用树状数组,线段树和分块来做 咱们今天讲分块的做法: 先理解分块,就会发现本题相当于板子题,整活 #include<iostream> #include<cstdio> #include<cmath> #define NUM 200010 usi 阅读全文
posted @ 2022-02-08 21:24 little_sheep_xiaoen 阅读(89) 评论(0) 推荐(0)
摘要: 资料来源 以 $n^m$ 举例 由于指数 m 总能用二进制表示,而幂次上的加法就是多个指数幂次相乘 也就是说,当 $m = k_1+k_2+...+k_t$ 时($k_i$表示 m 在二进制下第 i 位是 1 ), 每个 $n^m$ 都可以拆成 $n^{k_1+k_2+...+k_t} = n^{k 阅读全文
posted @ 2021-10-22 16:21 little_sheep_xiaoen 阅读(26) 评论(0) 推荐(0)
摘要: 题是水题,也不难想,本来是想打暴力先过个小数据, 本来就想再搞搞优化试试能不能过,毕竟这个题理论上 O( $n^2$ ) 是能过的 题干 主要是觉得这个优化很有可取之处,本来超时,一加这个优化就好很多了,一下就过了 改前的代码: #include<iostream> #include<cstdio> 阅读全文
posted @ 2021-10-02 19:47 little_sheep_xiaoen 阅读(42) 评论(0) 推荐(0)
摘要: 先用了贪心吧这个题 A 了,然后来考虑 dp 怎么做 先说贪心,其中 s1 表示走路的距离, s2 表示闪现了多远 s2 相当于只闪现,没蓝了就原地回蓝 但 s1 是两者兼备的,如果闪现的距离更远,就将 s1 覆盖为 s2 #include<iostream> #include<cstdio> #i 阅读全文
posted @ 2021-09-25 19:41 little_sheep_xiaoen 阅读(58) 评论(0) 推荐(0)
摘要: csp-j2020入门组真题答案及解析 https://www.cnblogs.com/BobHuang/p/13800840.html csp-s2020提高组真题答案及解析 https://www.cnblogs.com/Rainy7/p/csp-s-2020-first.html csp-j2 阅读全文
posted @ 2021-09-25 19:36 little_sheep_xiaoen 阅读(47) 评论(0) 推荐(0)
摘要: 这是个正常的、很简单的分治,然后我成功地将这个题搞成了一个贼难搞的东西 还是说一下我那个非常麻烦的思路: 1. 建树 2. 后序遍历 然后就在建树的过程中死循环了,然后还一堆毛病 看了一个AC代码,该成这个了 #include<iostream> #include<cstdio> #include< 阅读全文
posted @ 2021-09-24 17:58 little_sheep_xiaoen 阅读(33) 评论(0) 推荐(0)
摘要: 题面 老师给的解析 自己觉得很好的一篇题解 直接说重点题吧,不耽误时间了 T5: 这个很显然就是让进这个 while 的次数尽可能少, 那么我们可以让他只进一次 while,即让第一次进 while 的时候就令 $FLAG = 1$ 由于只进一次 while,那么只需要算第一次进的时候需要比较几次 阅读全文
posted @ 2021-09-17 20:57 little_sheep_xiaoen 阅读(1001) 评论(0) 推荐(0)
摘要: 题面,成绩不是真实水平,就挑重点说一说 老师给的解析 T5 这是二分查找,属于是我的代码理解不太对 我的理解 #include<iostream> using namespace std; int p; int main(){ int l = 1,r = 100; cin >> p; int cnt 阅读全文
posted @ 2021-09-17 19:48 little_sheep_xiaoen 阅读(275) 评论(0) 推荐(0)
摘要: 容斥原理: 经常题目要求算整个的总面积,也就是所有的 “黄+绿+橙+蓝”,即四个圆的并集 但我们大多数时候不仅仅是四个圆的总面积,一般是多个圆,这里以四个圆来举例说明 先上公式: $\left\vert \bigcup_1^3 A_i \right\vert = \sum_{i=1}^{n}\lef 阅读全文
posted @ 2021-09-13 17:46 little_sheep_xiaoen 阅读(1404) 评论(0) 推荐(0)