摘要:
题意:给你$n$个矩形,求矩形并的面积. 题解:我们建立坐标轴,然后可以对矩形的横坐标进行排序,之后可以遍历这些横坐标,这个过程可以想像成是一条线从左往右扫过x坐标轴,假如这条线是第一次扫过矩形的宽(长)的话,我们就可以在$y$轴上对应的区间打上标记,每次枚举的面积就是当前横坐标和上次横坐标的差值乘 阅读全文
摘要:
题意:给你一组数,每次可以选择拿走第$i$个数,得到$a[i]$的分数,然后对于分数值为$a[i]-1$和$a[i]+1$的值就会变得不可取,问能得到的最大分数是多少. 题解:$a[i]$最大取$2e5$,那我们可以枚举$[1,2e5]$的所有数字,用桶记录每个数出现的次数$cnt$,对于当前所枚举 阅读全文
摘要:
题意:RT. 题解:很明显的线段树维护区间最大值操作,但是我们同时还要维护最大值的个数,我们在build或者modify操作完子树然后push_up的时候,我们先从两个儿子取max更新父节点的最大值,然后再判断父节点的最大值是否和两个儿子相等,这样我们就成功的维护了区间最大值的个数.剩下的就是线段树 阅读全文
摘要:
在基础线段树的模板上做了优化,具体看eval函数和push_down. #include <bits/stdc++.h> #define ll long long #define fi first #define se second #define pb push_back #define me m 阅读全文
摘要:
#include <bits/stdc++.h> #define ll long long #define fi first #define se second #define pb push_back #define me memset #define rep(a,b,c) for(int a=b 阅读全文