随笔分类 -  数据结构#线段树

摘要:#思路 维护区间的最大值,取模的时候如果最大值小于模数就跳过此区间;否则,对每个点暴力修改。由于每次取模后 \(x \bmod p<2/x\),所以每个点最多被修改$logx$次。 #代码 // Problem: D. The Child and Sequence // Contest: Codef 阅读全文
posted @ 2021-08-01 13:24 OvO1 阅读(92) 评论(0) 推荐(0)
摘要:// Problem: E. Boring Segments // Contest: Codeforces - Educational Codeforces Round 112 (Rated for Div. 2) // URL: http://codeforces.com/contest/1555 阅读全文
posted @ 2021-07-31 11:37 OvO1 阅读(55) 评论(0) 推荐(0)
摘要:[link](https://codeforces.com/contest/620/problem/E) // Problem: CF620E New Year Tree // Contest: Luogu // URL: https://www.luogu.com.cn/problem/CF620 阅读全文
posted @ 2021-07-23 11:15 OvO1 阅读(49) 评论(0) 推荐(0)
摘要:link #思路: 两种操作,求和与异或。 考虑将数拆成二进制,维护每一位的值。 用线段树进行区间修改和区间求和。 空间卡的很紧,注意求和用long long存 #代码: #include<bits/stdc++.h> using namespace std; typedef long long l 阅读全文
posted @ 2021-07-21 17:24 OvO1 阅读(106) 评论(0) 推荐(0)
摘要:参考博客 #题意: 求满足$x1<x2<x3$和$y2<y1<y3$的三元组个数 #思路: 不难想到先对$x$排序,再处理$y$的情况,然后就推不出来了。 应当排序后枚举每个点,每次将该点与前面的点统计答案,再将该点的贡献更新。 假设$sum1$表示第一个点的个数,$sum2$表示满足$x1<x2$ 阅读全文
posted @ 2021-07-20 16:16 OvO1 阅读(90) 评论(0) 推荐(0)