摘要:
有n个矩形,第i个矩形左下角在(0,0)处,右上角在(l[i],h[i])。另给出m个点(x[i],y[i]),问有多少个矩形覆盖了这个点,点在边上也算是覆盖。 1<=n,m<=5e4; 1<=l[i],h[i]<=1e9; 1<=h[i],y[i]<=100; 所有矩形互不相同,所有查询点互不相同 阅读全文
摘要:
有n个房间,rooms[i]={id[i],size[i]}表示第i个房间编号为id[i],面积为size[i],房间编号唯一。 现有k个查询query[j]={preferred[j],minsize[j]},表示要求面积至少为minsize[j],且编号跟preferred[j]最接近,如果有多 阅读全文
摘要:
给定两个大小为n的数组nums1和nums2以及整数diff,统计满足以下条件的数对(i,j)的个数:0<=i<j<=n-1,并且nums1[i]-nums1[j]<=nums2[i]-nums2[j]+diff。 2<=n<=1e5; -1e4<=nums1[i],nums2[i]<=1e4; - 阅读全文
摘要:
给定数组nums[n]和整数lower与upper,求nums[n]中,元素之和在[lower,upper]范围内的子数组个数。 1<=n<=1e5; nums[i]在int范围内; -1e5<=lower<=upper<=1e5; 答案在int范围内 子数组的和可以用前缀和来快速求出,假设当前位置 阅读全文
摘要:
给定一个数组nums[n],如果i<j并且nums[i]>2*nums[j],则称(i,j)是一个重要翻转对。求nums[n]中重要翻转对的数量。 1<=n<=5e4; nums[i]在int范围内 直接套平衡树模板即可。 template <typename TYPE> struct Treap 阅读全文