洛谷 P1884 [USACO12FEB]过度种植

矩形面积并

范围n<=1000,那么,我们就可以考虑一个p(n^2)的暴力做法,其中,p是一个玄学常数,因为有break,所以只要不故意卡,就能过。
先把所有出现的点离散化出来,然后暴力枚举两个相邻的离散出来的点,如果能找到一个矩形,使得这两个点均在这个矩形内部,那么,就可以加上面积。总体思路就是,把一些大的交错的矩形,分割成一个个小的矩形来进行答案统计。
#include <bits/stdc++.h>
#define int long long
#define y1 yy1
using namespace std;
const int N=1e3+5;
int n,cnt1,cnt2,ans;
int x1[N],y1[N],x2[N],y2[N],x[N<<1],y[N<<1]; 

#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)
char buf[1<<21],*p1=buf,*p2=buf;
inline int read()
{
   
	int ret=
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值