题意:在w*h的图上有n个点,要求找出一个正方形面积最大,且没有点落在该正方形内部。

析:枚举所有的y坐标,去查找最大矩形,不断更新。

代码如下:

  1. #include <cstdio>
  2. #include <string>
  3. #include <cstdlib>
  4. #include <cmath>
  5. #include <iostream>
  6. #include <cstring>
  7. #include <set>
  8. #include <queue>
  9. #include <algorithm>
  10. #include <vector>
  11. #include <map>
  12.  
  13. using namespace std ;
  14. typedef long long LL;
  15. typedef pair<int, int> P;
  16. const int INF = 0x3f3f3f3f;
  17. const double inf = 0x3f3f3f3f3f3f3f;
  18. const double eps = 1e-8;
  19. const int maxn = 1e4 + 5;
  20. const int dr[] = {0, 0, -1, 1};
  21. const int dc[] = {-1, 1, 0, 0};
  22. int n, m;
  23. inline bool is_in(int r, int c){
  24. return r >= 0 && r < n && c >= 0 && c < m;
  25. }
  26. struct node{
  27. int x, y;
  28. bool operator < (const node &p) const{
  29. return x < p.x || (x == p.x && y < p.y);
  30. }
  31. };
  32. int d[maxn];
  33. node a[maxn];
  34. int t, x;
  35.  
  36. void solve(){
  37. int ans = 0, ansx, ansy;
  38. for(int i = 0; i < x; ++i){
  39. for(int j = i+1; j < x; ++j){
  40. int maxy = d[j], miny = d[i];
  41. int h = maxy - miny, w = 0, tmp = 0;
  42. for(int k = 0; k < t; ++k){
  43. if(a[k].y <= miny || a[k].y >= maxy) continue;
  44. w = a[k].x - tmp;
  45. if(ans < min(w, h)){
  46. ans = min(w, h);
  47. ansx = tmp; ansy = miny;
  48. }
  49. tmp = a[k].x;
  50. }
  51.  
  52. w = m - tmp;
  53. if(ans < min(w, h)){
  54. ans = min(w, h);
  55. ansx = tmp; ansy = miny;
  56. }
  57. }
  58. }
  59. printf("%d %d %d\n", ansx, ansy, ans);
  60. }
  61.  
  62. int main(){
  63. int T; cin >> T;
  64. while(T--){
  65. scanf("%d %d %d", &t, &m, &n);
  66. for(int i = 0; i < t; ++i){ scanf("%d %d", &a[i].x, &a[i].y); d[i+1] = a[i].y; }
  67. d[0] = 0; d[t+1] = n;
  68. sort(d, d+t+2);
  69. sort(a, a+t);
  70. x = unique(d, d+t+2) - d;
  71. solve();
  72. if(T) printf("\n");
  73. }
  74. return 0;
  75. }

UVa 1312 Cricket Field (枚举+离散化)的更多相关文章

  1. UVA 1312 Cricket Field

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

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

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

  3. E - Cricket Field

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

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

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

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

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

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

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

  7. UVa 221城市正视图(离散化)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  8. UVa 10465 Homer Simpson (枚举)

    10465 - Homer Simpson Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onli ...

  9. UVA 221 - Urban Elevations(离散化)!!!!!!

    题意:给出一张俯视图.给出N个建筑物的左下标,长度,宽度,高度.现在求,从南面看,能看到那些建筑? Sample Input 14 160 0 30 60 30 125 0 32 28 60 95 0 ...

随机推荐

  1. HDU 2066 一个人的旅行【Dijkstra 】

    题意:给出s个起点,d个终点,问从这些起点到达终点的最短距离 因为有多个起点,所以把这多个起点的值设为0 哎= =改了好久的说= = 是因为在代码里面的t,不知道为什么调用dijkstra()函数之后 ...

  2. Windows 8获取开发者账户

    使用PowerShell获取开发者账户,可以在本地调试Metro APP C:\PS> Show-WindowsDeveloperLicenseRegistration //安装licence ...

  3. BZOJ 2157 旅行

    裸链剖. 这大概是我第一份两百行左右的代码吧. 然而我把题看错了233333333调了将近两天. #include<iostream> #include<cstdio> #in ...

  4. 整理一些js中常见的问题

    原文链接 1.js获取select标签选中的值 原生js var obj = document.getElementByIdx_x(”testSelect”); //定位id var index =  ...

  5. I.MX6 uSDHC SD card register

    /**************************************************************************** * I.MX6 uSDHC SD card ...

  6. Linux服务器偶尔无法访问问题

    最近上了一台web服务器(本地包含mysql服务器),在运行一段时间发现服务器偶尔会无法访问, 包括mysql,ftp以及ssh等都无法响应,但是已经连接上的ssh不受任何影响,在查看系统log时, ...

  7. Heritrix源码分析(十五) 各种问题总结(转)

    开博客以及建立Heritrix 群有一段时间了(这里谢谢大家的关注),这篇博客将整理这段时间所遇到的问题.同时由于自己从今年5月份开始就不怎么接触Heritrix,很多东西开始遗忘(不过里面思想没忘) ...

  8. Dataguard常用命令汇总

    ----标准DataGuard参数设置------------------------------alter system set log_archive_dest_2='SERVICE=ta_std ...

  9. core文件分析

    http://baidutech.blog.51cto.com/4114344/904419/ http://www.newsmth.net/pc/pccon.php?id=10001977& ...

  10. 《A Tour of PostgreSQL Internals》学习笔记——系统表和数据类型

    上周末学习了<A Tour of PostgreSQL Internals>的第一部分(View 1),今天我们继续打开书本,继续View 2 部分. View 2 Postgresql的 ...