上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 130 下一页
摘要: 法一:首先记住这种看起来没办法维护的东西,我们可以用随机化搞法。也就是说以后不要一直想着精确的正解了 考虑利用哈希思想。显然区间最大值减去最小值为区间长度这是必要条件。在此前提下,我们从以下几个选项选出几个维护就好了:区间和,区间平方和,区间立方和,区间异或和(这道题目也用了类似的思想) 法二:显然 阅读全文
posted @ 2024-05-19 14:45 最爱丁珰 阅读(25) 评论(0) 推荐(0)
摘要: 记住方差公式可以展开就好了 类似的:区间加区间 sin 和 阅读全文
posted @ 2024-05-19 14:14 最爱丁珰 阅读(5) 评论(0) 推荐(0)
摘要: 总算给我看懂到底是什么意思了。。。 首先我们来考虑按照时间+扫描线进行处理,假设操作如下 黑色是加操作,黄色是乘操作,绿色是加操作,对于红色那条线所代表的点,随着时间的流逝,首先在刚刚进入黑色的时候,这一点的值就被加上了一个数,然后刚刚进入黄色的时候,这一点的值就被乘上了一个数,刚刚进入绿色的时候, 阅读全文
posted @ 2024-05-18 17:06 最爱丁珰 阅读(22) 评论(0) 推荐(0)
摘要: 这里磁力块不会被重复吸引才有了蓝书上的trick,如果可以怎么办? 按某一维排序之后利用这篇题解的做法 阅读全文
posted @ 2024-05-18 13:05 最爱丁珰 阅读(30) 评论(0) 推荐(0)
摘要: 这道题目是不能用“天天爱跑步”这道题目的技巧的,因为不满足可加性 所以必须要给每个节点都开一个\(M\)维数组 线段树合并的作用就是数组相加,所以可以考虑线段树合并 阅读全文
posted @ 2024-05-17 22:30 最爱丁珰 阅读(8) 评论(0) 推荐(0)
摘要: 非常好的一道练习懒标记的题目(这种题目就叫做多标记题目) 我们先不考虑维护总和,先分别维护两个量,\(value\)表示\(p\)号节点所代表区间的点的权值,\(dis\)表示\(p\)号节点所代表区间的点的距离和,\(lazy\)表示\(p\)号节点权值的懒标记,\(dislazy\)表示\(p\ 阅读全文
posted @ 2024-05-17 21:12 最爱丁珰 阅读(12) 评论(0) 推荐(0)
摘要: 注意这里lazy标记是必须的,不要认为每次修改的区间要么是从全\(0\)变全\(1\)要么是从全\(1\)变全\(0\)就不用lazy标记了 想想我们不用lazy标记的题目“Atlantis”,因为我们只关心根节点的值所以不用lazy标记(从lazy标记的作用来说,根节点根本就不用lazy标记);而 阅读全文
posted @ 2024-05-15 13:18 最爱丁珰 阅读(17) 评论(0) 推荐(0)
摘要: 连续区间问题的代码都像打卡代码那样子写,是最有通用性的 这道题目的查询也没办法像老板那样子写,还是因为我们没有办法判断左端/右端的最大连续子段和是否超过了当前区间 还有理解这个代码的时候,不要去纠结递归的细节问题,就把函数看成一个问题,即 int ask(int p,int l,int r,int 阅读全文
posted @ 2024-05-15 12:48 最爱丁珰 阅读(16) 评论(0) 推荐(0)
摘要: B题 比较水的一道题目,主要是读题 注意是每个水平线都是\(1km\) 用的就是找每一个数最近的比其大的数,用单调栈 阅读全文
posted @ 2024-05-11 12:50 最爱丁珰 阅读(7) 评论(0) 推荐(0)
摘要: 这题显然可以依次枚举最后一个结束钓鱼的池塘, 让后我们先减去路上走的所有路程 然后就可以用前面几道题目的思路,相当于每个鱼塘是一个类别,从所有类别中取出最大值,再将后继加入 另外说一个代码细节,好想priority_queue是不能重载运算符的,而且必须对第一分量排序 阅读全文
posted @ 2024-05-09 13:41 最爱丁珰 阅读(10) 评论(0) 推荐(0)
上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 130 下一页