Description
Input
Output
Sample Input
见下发文件
Sample Output
见下发文件
Data Constraint
题解
- 这题,题目说可以任意移动矩阵,那么就可以把所有矩阵的左上角移到(0,0)
- 这样的话,其实就可以不用管了这个东西了
- 然后,我们可以先将横坐标排序,然后把y坐标加进树状数组,权值为1
- 枚举x坐标,然后二分y坐标mid,然后将y坐标小于mid的全部删掉+重复的有没有大于m
- 最后更新ans
代码
1 #include2 #include 3 using namespace std; 4 int t,n,m,sz[100010]; 5 struct edge { int x,y;}e[100010]; 6 bool cmp(edge a,edge b) { return (a.x >1;34 if (check(p,mid)) mx=mid,l=mid+1; else r=mid-1;35 }36 for (int j=i;j<=k;j++) insert(e[j].y,-1),p++; 37 ans=max(ans,1ll*e[i].x*mx);38 i=k;39 }40 printf("%lld\n",ans);41 }42 }