上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 80 下一页
摘要: 按照题目来模拟,假设\(a_x\)为最大的,那么任意时刻不可能选中\(a_{x-1}\)或者\(a_{x+1}\)来操作的 然后就可以发现,我们选出的数一定是不相邻的,也就是说,我们每次在还可以选择的数中找出最大的数(满足此条件下下标最小),并且把相邻的两个数标记为不可选择,一直重复这个过程直到为\ 阅读全文
posted @ 2024-05-19 16:24 最爱丁珰 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 这道题目肯定是考虑维护前驱了(注意不用前驱后继都维护) 但是注意,这里的前驱定义为位置\(i\)前面第一个与\(i\)加起来为\(w\)的位置 然后就会出现这篇题解所说的情况 这篇题解也给了解决方案,由贪心易证,就是注意此时一定不要超时了 所有影响的位置: 考虑前驱受到影响的位置一定在当前修改位置的 阅读全文
posted @ 2024-05-19 15:39 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 法一:仍然是乱搞 法二:看这篇题解 等差数列任意两项的差一定是公差的倍数,这个好像对于等差数列挺常用的,我记得哪一道数论也有这个方法 判断一比较显然,判断二是因为我们显然不能对这个序列真的排序(排序只有\(01\)序列可以比较快速地排序),所以只能维护相邻的东西,等差数列嘛所以维护相邻的差,于是想到 阅读全文
posted @ 2024-05-19 15:03 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 法一:首先记住这种看起来没办法维护的东西,我们可以用随机化搞法。也就是说以后不要一直想着精确的正解了 考虑利用哈希思想。显然区间最大值减去最小值为区间长度这是必要条件。在此前提下,我们从以下几个选项选出几个维护就好了:区间和,区间平方和,区间立方和,区间异或和(这道题目也用了类似的思想) 法二:显然 阅读全文
posted @ 2024-05-19 14:45 最爱丁珰 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 记住方差公式可以展开就好了 类似的:区间加区间 sin 和 阅读全文
posted @ 2024-05-19 14:14 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 总算给我看懂到底是什么意思了。。。 首先我们来考虑按照时间+扫描线进行处理,假设操作如下 黑色是加操作,黄色是乘操作,绿色是加操作,对于红色那条线所代表的点,随着时间的流逝,首先在刚刚进入黑色的时候,这一点的值就被加上了一个数,然后刚刚进入黄色的时候,这一点的值就被乘上了一个数,刚刚进入绿色的时候, 阅读全文
posted @ 2024-05-18 17:06 最爱丁珰 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 这里磁力块不会被重复吸引才有了蓝书上的trick,如果可以怎么办? 按某一维排序之后利用这篇题解的做法 阅读全文
posted @ 2024-05-18 13:05 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 这道题目是不能用“天天爱跑步”这道题目的技巧的,因为不满足可加性 所以必须要给每个节点都开一个\(M\)维数组 线段树合并的作用就是数组相加,所以可以考虑线段树合并 阅读全文
posted @ 2024-05-17 22:30 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 非常好的一道练习懒标记的题目(这种题目就叫做多标记题目) 我们先不考虑维护总和,先分别维护两个量,\(value\)表示\(p\)号节点所代表区间的点的权值,\(dis\)表示\(p\)号节点所代表区间的点的距离和,\(lazy\)表示\(p\)号节点权值的懒标记,\(dislazy\)表示\(p\ 阅读全文
posted @ 2024-05-17 21:12 最爱丁珰 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 注意这里lazy标记是必须的,不要认为每次修改的区间要么是从全\(0\)变全\(1\)要么是从全\(1\)变全\(0\)就不用lazy标记了 想想我们不用lazy标记的题目“Atlantis”,因为我们只关心根节点的值所以不用lazy标记(从lazy标记的作用来说,根节点根本就不用lazy标记);而 阅读全文
posted @ 2024-05-15 13:18 最爱丁珰 阅读(2) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 80 下一页