随笔分类 -  数据结构-扫描线

摘要:tag:贪心,扫描线,二分图匹配 结果是最水的一道 首先要想到一个贪心结论:一定是两两匹配,若干个形如 \(x\to y\to x\) 的环。 然后可以二分图匹配。 观察匹配的条件: \(a_i\ge j\) \(i\le b_j\) 如果用二维点表示为 \((a_i,i)\) 和 \((j,b_j 阅读全文
posted @ 2021-07-07 21:11 oisdoaiu 阅读(51) 评论(0) 推荐(0)
摘要:tag:扫描线,PAM,BIT 首先一个区间合法有两种情况: 存在一个长度大于 \(1\) 的奇回文串 被若干偶数回文串覆盖 这些回文串都必须在区间内 第一种情况很好处理,随便预处理一下。 主要是第二种情况。 直接做不太好做,可以改为判断,是否有一个位置没有被回文串覆盖。 对于一个点来说,有用的回文 阅读全文
posted @ 2021-07-07 19:38 oisdoaiu 阅读(34) 评论(0) 推荐(0)
摘要:tag:插值,扫描线 设 \(f_i\) 为 \(i\) 时刻的答案。 对于单个点来说,对 \(f_i\) 的贡献为一个二次函数。 对于两个点来说,要减去重复部分,而重复部分对 \(f_i\) 的贡献也是一个二次函数。 同理,容斥以后每部分贡献都是一个二次函数,所以 \(f_i\) 实际上就是一个分 阅读全文
posted @ 2021-06-25 09:38 oisdoaiu 阅读(65) 评论(0) 推荐(0)
摘要:tag:可持久化线段树,扫描线,哈希 对于 \(40%\) 的暴力,不难想到直接暴力求出所有的列表,然后nth_element 考虑拓展这个做法,实际上如果用扫瞄线求出所有列表的话,变动只有 \(O(n)\) 次,于是想到可持久化数组。注意要去重,所以再加个哈希。 求答案的时候还是使用nth_ele 阅读全文
posted @ 2021-06-25 09:10 oisdoaiu 阅读(39) 评论(0) 推荐(0)
摘要:tag:贪心,扫描线 对于只有一种器材的情况,贪心就是按照右端点从大到小扫,每次找到左端点最大的,把当前点分配给他。 对于每个器材,都这样处理,然后将分配点设为新的右端点。这样处理以后还是能够得到原来能够得到的每一种方案。 不妨假设每个人就选择在右端点那一天,然后找到选择点最小的那个人,对于其他每一 阅读全文
posted @ 2021-06-24 16:41 oisdoaiu 阅读(20) 评论(0) 推荐(0)