【链接】 我是链接,点我呀:)

【题意】

在这里输入题意

【题解】

添加两个y坐标0和h
然后从这n+2个y坐标中任选两个坐标,作为矩形的上下界。

然后看看哪些点在这个上下界中。

定义为坐标集合S

S中的点的相邻x坐标差和上下界的差的较小值是这个矩形能够构成的最大正方形。

枚举所有情况就好。

【代码】

#include <bits/stdc++.h>
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define all(x) x.begin(),x.end()
#define pb push_back
#define ls l,mid,rt<<1
#define rs mid+1,r,rt<<1
using namespace std; const double pi = acos(-1);
const int dx[4] = {0,0,1,-1};
const int dy[4] = {1,-1,0,0};
const int N = 100; int n,w,h,px,py,anslen;
pair<int,int> a[N+10]; bool cmp(pair<int,int> x,pair<int,int> y){
return x.first<y.first;
} void solve(){
anslen = -1;
cin >> n >> w >> h;
for (int i = 1;i <= n;i++)
cin >> a[i].first>>a[i].second;
sort(a+1,a+1+n); a[0].second = 0;a[n+1].second = h;
a[n+1].first = w; for (int i = 0;i <= n+1;i++){
for (int j = 0;j <= n+1;j++){
int upy = max(a[i].second,a[j].second),downy = min(a[i].second,a[j].second);
int len = upy-downy;
int prex = 0;
for (int k = 1;k <= n+1;k++){
if (k==n+1||(downy<a[k].second && a[k].second<upy)){
int templen = min(len,a[k].first-prex);
if (templen>0){
if (anslen==-1 || templen>anslen){
anslen = templen;
px = prex,py = downy;
}
}
prex = a[k].first;
}
}
}
}
cout<<px<<' '<<py<<' '<<anslen<<endl;
} int main(){
#ifdef LOCAL_DEFINE
freopen("rush_in.txt", "r", stdin);
#endif
ios::sync_with_stdio(0),cin.tie(0);
int T;
cin >> T;
int kase = 0;
while(T--){
if (kase==0)
kase++;
else
cout<<endl;
solve();
}
return 0;
}

【习题 8-19 UVA-1312】Cricket Field的更多相关文章

  1. UVa 1312 Cricket Field (枚举+离散化)

    题意:在w*h的图上有n个点,要求找出一个正方形面积最大,且没有点落在该正方形内部. 析:枚举所有的y坐标,去查找最大矩形,不断更新. 代码如下: #include <cstdio> #i ...

  2. UVA 1312 Cricket Field

    题意: 在w*h的坐标上给n个点, 然后求一个最大的矩形,使得这个矩形内(不包括边界)没有点,注意边界上是可以有点的. 分析: 把坐标离散化.通过两重循环求矩形的高,然后枚举,看是否能找到对应的矩形. ...

  3. Codeforces Gym 100002 C "Cricket Field" 暴力

    "Cricket Field" Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/1000 ...

  4. E - Cricket Field

    Description   Once upon a time there was a greedy King who ordered his chief Architect to build a fi ...

  5. 【uva 1312】Cricket Field(算法效率--技巧枚举)

    题意:一个 L*R 的网格里有 N 棵树,要求找一个最大空正方形并输出其左下角坐标和长.(1≤L,R≤10000, 0≤N≤100) 解法:枚举空正方形也就是枚举空矩阵,先要固定一个边,才好继续操作. ...

  6. 紫书 习题8-19 UVa 1312 (枚举技巧)

    这道题参考了https://www.cnblogs.com/20143605--pcx/p/4889518.html 这道题就是枚举矩形的宽, 然后从宽再来枚举高. 具体是这样的, 先把所有点的高度已 ...

  7. 【WebGoat习题解析】Parameter Tampering->Bypass HTML Field Restrictions

    The form below uses HTML form field restrictions. In order to pass this lesson, submit the form with ...

  8. Java50道经典习题-程序19 输入行数打印菱形图案

    题目:根据用户输入的行数打印菱形图案,若用户传入的是为偶数则提示用户重新输入,例如输入数字7打印出如下菱形图案   *  *** ************ *****  ***   *分析:先把图形分 ...

  9. UVA-1312 Cricket Field (技巧枚举)

    题目大意:在一个w*h的网格中,有n个点,找出一个最大的正方形,使得正方形内部没有点. 题目分析:寻找正方形实质上等同于寻找矩形(只需令长宽同取较短的边长).那么枚举出所有可能的长宽组合取最优答案即可 ...

随机推荐

  1. LeetCode 1. Two Sum (c++ stl map)

    题目:https://leetcode.com/problems/two-sum/description/ stl map代码: class Solution { public: vector< ...

  2. bat脚本启动exe并打开文件后退出 + 中文乱码

    写了个脚本用于复制模板到新的cpp文件. 将脚本路径加到环境变量里,只需在cmd窗口输入“new hdu 1419”,就会自动将模板拷贝到WORK_DIR下的hdu文件夹内一个名叫"1419 ...

  3. UE4.18.3 C++项目无法打开C++类问题(VS2017)

    升级VS2017后,突然出现UE4创建C++项目无法打开VS问题.经过测试为VS2017升级后C++的桌面开发工具集采用了VC++2017 v141工具集,而UE4对该工具集尚未兼容,故找不到vs打开 ...

  4. JavaScript系列——数组元素左右移动N位算法实现

    引言 在自己刚刚毕业不久的时候,去了一家公司面试,面试官现场考了我这道题,我记忆深刻,当时没有想到思路,毫无疑问被面试官当成菜鸟了.最近刚好在研究数组的各种算法实现,就想到这道题,可以拿来实现一下,纪 ...

  5. 洛谷 P3147 [USACO16OPEN]262144

    P3147 [USACO16OPEN]262144 题目描述 Bessie likes downloading games to play on her cell phone, even though ...

  6. 微信开发出现 redirect-uri參数错误原因是设置回调页面域名不要加HTTP://

    OAuth2.0 网页授权设置.回调页面域名不要加HTTP:// NND  微信的研发.你程序处理下非常麻烦吗?给个提示非常麻烦吗?让我查了1个多小时.

  7. OC第二课

    主要内容:实例变量可见度.方法 一.实例变量可见度 public(共同拥有的):实例变量能够在类的内部和外部使用 protected(受保护的.默认的):实例变量仅仅能在该类及其子类中使用 priva ...

  8. bsp开发之OAL开发

    windows ce 操作系统移植主要包含两个方面:一个是基于cpu级的.还有一个是基于开发板级的.cpu级的主要由微软或者芯片制造商来完毕.开发板级的移植主要是由OEM来完毕的,而OAL的开发正是O ...

  9. What's the difference between Unicode and UTF-8?

    https://stackoverflow.com/questions/3951722/whats-the-difference-between-unicode-and-utf-8 If asked ...

  10. Nginx下部署TP5项目

    标签(空格分隔): linux nginx配置文件: server { listen 81; #listen [::]:80; server_name _; index index.html inde ...