题面链接

https://www.acwing.com/problem/content/description/1828/

思路

因为只用去处一只奶牛,所以这只奶牛肯定尽可能远离大部分牛群,所以我们很容易想到去除四个角然后计算剩下的牛群能围成的面积是多少就好了,所以我们定义四个数组,然后不同的方式排序就好了

代码

#include<bits/stdc++.h>
using namespace std;
//----------------自定义部分----------------
#define ll long long
#define int long long
#define mod 1000000007
#define endl "\n"
#define PII pair<int,int>
#define BPII pair<int,int>
#define INF 0x3f3f3f3f3f3f3f3f
int dx[4]={0,-1,0,1},dy[4]={-1,0,1,0};ll ksm(ll a,ll b) {ll ans = 1;for(;b;b>>=1LL) {if(b & 1) ans = ans * a % mod;a = a * a % mod;}return ans;
}ll lowbit(ll x){return -x & x;}const int N = 2e6+10;
//----------------自定义部分----------------
int n,m,q;
int x,y;
vector<PII> a,b,c,d;
bool cmp1(PII a,PII b){return a.second < b.second;
}
bool cmp2(PII a,PII b){return a.second < b.second;
}signed main()
{std::ios::sync_with_stdio(false);std::cin.tie(nullptr);std::cout.tie(nullptr);cin>>n;for(int i = 0;i < n; ++i) {cin>>x>>y;a.push_back({x,y});b.push_back({x,y});c.push_back({y,x});d.push_back({y,x});}sort(a.begin(),a.end());sort(b.begin(),b.end());sort(c.begin(),c.end());sort(d.begin(),d.end());int ans = INF;//删除x最max的那个int x1 = a[n-2].first - a[0].first;sort(a.begin(),a.begin()+a.size()-1,cmp1);int y1 = a[n-2].second - a[0].second;ans = min(ans,x1*y1);//删除x最min的那个int x2 = b[n-1].first - b[1].first;sort(b.begin()+1,b.end(),cmp1);int y2 = b[n-1].second - b[1].second;ans = min(ans,x2*y2);//删除y最max的那个y1 = c[n-2].first - c[0].first;sort(c.begin(),c.begin()+c.size()-1,cmp1);x1 = c[n-2].second - c[0].second;ans = min(ans,x1*y1);//删除y最min的那个y2 = d[n-1].first - d[1].first;sort(d.begin()+1,d.end(),cmp1);x2 = d[n-1].second - d[1].second;ans = min(ans,x2*y2);ans = max(0LL,ans);cout<<ans<<endl;return 0;
}

AcWing 1826. 农田缩减(思维+枚举)相关推荐

  1. AcWing 1826. 农田缩减

    思路:包含所有奶牛的矩形需要x的最大最小值,y的最大最小值,对x,y排序,去除当前点时,我们只需要看他是不是最大最小值 代码: #include <iostream> #include & ...

  2. 《算法竞赛进阶指南》打卡-基本算法-AcWing 92. 递归实现指数型枚举:递推与递归、二进制状态压缩、dfs

    文章目录 题目解答 题目链接 题目解答 分析: 优化:用二进制状态压缩,也就是用二进制上的位来记录数有没有被用过. ac代码 #include<bits/stdc++.h> using n ...

  3. B. Dubious Cyrpto(思维+枚举)

    题目 大致翻译:帕夏喜欢把严格的正整数送给他的朋友.帕夏关心安全性,因此当他想发送一个整数n时,他用以下方式对它进行加密:他选取三个整数a.b和c,使l≤a.b.c≤r,然后计算加密值m=n⋅a+b− ...

  4. [Acwing] 健康的荷斯坦奶牛 -二进制枚举

    前言 传送门 : https://www.acwing.com/problem/content/description/1364/ 传送门2: https://www.acwing.com/probl ...

  5. 枚举 ---- D. Zigzags[ Educational Codeforces Round 94 (Rated for Div. 2)]思维枚举优化4重循环

    D. Zigzags 题目大意:就是给你i<j<k<l并且aj=al&&ai=aki<j<k<l并且a_j=a_l \&\& a_i ...

  6. AcWing - 175 电路维修(思维建边+最短路)

    题目链接:点击查看 题目大意:我们要从左上角走到右下角,只能斜着走,问最少翻转道路的次数 题目分析:很直白的一个中文题,也没有多少坑,主要是思路问题,这里先说思路,我们可以将给出的道路建边,建成一个无 ...

  7. 【牛客 - 289K】这是一个沙雕题III(贪心,思维枚举,技巧trick,计算上下界)

    题干: 因为现在的新生太强了,都学会了"dp",所以就有了这样一个"dp"题,双11时Gugugu有(x,x+1,x+2....y-1,y)元的抵用券无数张,但 ...

  8. CF876 F 思维 枚举

    给你n个数,问有几个区间满足,区间内或操作大于区间内的任意数. 首先可以知道,两数或操作的结果必定不会小于两者间的最大值,也就是说对于一个区间中,不合法的状态只有两值或相等.那么我们可以考虑枚举每个数 ...

  9. AcWing 1945. 奶牛棒球(枚举+二分)

    题目链接 https://www.acwing.com/problem/content/1947/ 思路 因为第三头牛和第二头牛的间距是在[2Y-X,3Y-2x]以内的,所以我们可以对第三头牛进行二分 ...

最新文章

  1. RMS 谈自由软件运动和后门
  2. 如何使git接受自签名证书?
  3. 数据库创建表的时候长度的介绍
  4. centos7添加运行终端快键键
  5. 网络编程中客户端链接的合法性,socketserver模块
  6. TLE5012B ESP32驱动程序、硬件电路设计、4线SPI通信,驱动完美兼容4线SPI不用改MOSI开漏推挽输出
  7. PaddlePaddle线性回归示例
  8. 载体构建实例解析——构建 SETD3-pEGFP-N1(Snapgene 设计引物)
  9. 使用Loadrunner进行性能测试
  10. php缩图代码是什么,php生成缩略图的类代码
  11. “跳出内卷”ROttKRON乐旷陶瓷耳机的新视野,“形、质、声”打开耳机新话题
  12. 说一说android:persistent=true保活
  13. MATLAB---三维绘制函数实例介绍
  14. matlab7如何运行程序,技术员为你示范win7系统运行matlab2010找不到指定的程序的具体方法...
  15. 产品周报第29期|创作中心优化:发文助手新增质量分检测功能,博文增加内容历史版本
  16. WADISWAT数据处理
  17. ARFoundation☀️ 八、SARF:ARFoundation可视化插件
  18. Python自动化开发【1】:Python简介和入门
  19. [每日100问][2011-9-30]iphone开发笔记,今天你肿了么
  20. 趁年轻要学会打破思维

热门文章

  1. 判断形参S所指字符串是否是回文,若是,函数返回1,不是则返回0,并在main中实现输出...
  2. NAND Flash和NOR Flash的比较
  3. spring 默认情况下事务是惟一的 同一个方法里面第一个sql开启后 在执行完 将事务传递给下一个sql...
  4. Day 12:枚举值、枚举类
  5. PCB 电测试--测试点数自动输出到流程指示中(读取TGZ Stephdr文件)
  6. r语言之散点图类型type参数
  7. DevExpress XtraTreeList的复选框 禁用
  8. ASP.net AJAX 调用PageMethods实例
  9. 样式处理——去除无用样式
  10. 大型高并发与高可用的三层缓存架构总结