摘要: 我们先模拟一下,其实题目就是要我们从\(y\)这个位置开始跳,每次跳\(x\)步,然后把每次跳到的数的和加起来就是最终的答案 我们发现当\(x\)比较大的时候是可以暴力的,但是比较小的时候就不行了 这时就有一个套路了,我们找出一个分界点,比这个分界点大的时候我们暴力否则使用其他方法 那么使用其他方法 阅读全文
posted @ 2023-12-30 21:33 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 这里主要是讲一下如何预处理以及时间复杂度的计算 首先来看方法一 预处理时,最外层循环是\(i\),第二层循环是\(j\),表示第\(i\)个块到第\(j\)个块 先讲一下区间众数如何维护,记\(sum[i]\)表示\(i\)这个数出现的次数 假设此时已经维护好了\([i,j]\)这些块的众数(记为\ 阅读全文
posted @ 2023-12-30 19:15 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 当然插入排序也可以改成归并排序 uodate 2024.5.18 还是不要用上面的二分套二分了,会多一个\(O(log\sqrt{n})\)的复杂度,用这篇题解的做法 我们有两个序列,一个序列是原序列,另一个序列是离散化之后的值域序列,我们对两个序列都进行分块 cnt1[x][y]表示值域序列第\( 阅读全文
posted @ 2023-12-30 16:55 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 注意\(Max[i]\)表示第\(i\)块没有加上\(lazy[i]\)的最大值 同理,体会一下每个标记到底表示什么 注意暴力更新的区间,一定要把区间走完更新\(Max\),因为\(z\)可能为负数 阅读全文
posted @ 2023-12-30 16:41 最爱丁珰 阅读(3) 评论(0) 推荐(0) 编辑