题目链接:hdu_5762_Teacher Bo

题意:

给你n个点,问你能否找到两对点的曼哈顿距离相等

题解:

最开始看到这题,看数据以为要向nlogn的复杂度发展,结果经验误导了自己,我们仔细观察可以发现,题目给的点的坐标范围为0~1e5,说明所有的点对的曼哈顿距离的种数不会超过2*m+1,意思就是n个点的曼哈顿距离的范围为0~200000,所以如果点对的个数大于2*m+1,那么必定会有重复的曼哈顿距离,也就是由两对点的曼哈顿距离相同,所以特判后直接暴力,复杂度不超过10W.

 #include <cstdio>
#include<cstring>
int abs(int a){return a>?a:-a;}
const int N=1E5+;
struct point{int x,y;};
point a[N];
bool vis[N*];
int main()
{
int n,t,m;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
long long nn=n;
for(int i=;i<=n;i++)scanf("%d%d",&a[i].x,&a[i].y);
if(nn*(nn-)/>*m+){puts("YES");continue;}
memset(vis,,sizeof(vis));
int fg=;
for(int i=;i<=n;i++)
{
if(fg)break;
for(int j=i+;j<=n;j++)
{
int dis=abs(a[i].x-a[j].x)+abs(a[i].y-a[j].y);
if(vis[dis]){fg=;break;}else vis[dis]=;
}
}
if(fg)puts("YES");else puts("NO");
}
return ;
}

最新文章

  1. Time.deltaTime 的平均值在0.1-0.2左右
  2. PHP探针
  3. Thrift架构~thrift中间语言的认识(只有它什么都不是,它才有可能什么都是)
  4. Javascript 语言精粹 代码片段合集
  5. Dapper ORM 用法—Net下无敌的ORM(转)
  6. hdu 4068 SanguoSHA
  7. CentOS 6.3 安装ATI显卡驱动
  8. 提交App到Apple Store(Xcode4)
  9. UVa11183 Teen Girl Squad, 最小树形图,朱刘算法
  10. discuz!代码内置颜色大全(收藏)
  11. MyBatis:打印SQL 日志
  12. C#获取周的第一天、最后一天、月第一天和最后一天
  13. JavaScript一个google地图获取
  14. php 处理并发问题
  15. c提高第四次作业
  16. python3-基础1
  17. SQL Server使用笔记
  18. POJ 1988 Cube Stacking 【带权并查集】
  19. MVC中页面的传值方式总结
  20. jq优化

热门文章

  1. linux下安装LoadRunner LoadGenerator
  2. java 方法学习
  3. for循环---几种写法
  4. java web应用程序目录
  5. MongoDB数据模型(三)
  6. 聊天系统Demo,增加Silverlight客户端(附源码)-- ESFramework 4.0 快速上手(09)
  7. [kuangbin带你飞]专题四 最短路练习 POJ 3268 Silver Cow Party
  8. Openjudge-计算概论(A)-整数奇偶排序
  9. mybatis的insert返回主键
  10. Win7的64位系统如何搭建安卓Android开发环境