http://acm.hdu.edu.cn/showproblem.php?pid=2907

参考了下别人的搜索代码~~

/*************************************************************************> File Name: main.cpp> Author: huangshuai> Mail: huangshuai1993@gmail.com > Created Time: Wed 13 Mar 2013 08:45:03 AM CST************************************************************************/#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
struct point
{int x,y;int num;
};
point vex[100];
int cross(const point &a,const point &b,const point &c)
{return (b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y);
}
double dis(const point &a,const point &b)
{return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
bool cmp(const point& a,const point &b)
{int m=cross(vex[0],a,b);if(m==0)return dis(vex[0],a)<dis(vex[0],b)?true:false;if(m>0)return true;elsereturn false;
}
point stackk[100];
int flag[100],top,k;
void graham_scan(int n)
{int i;for(i=1;i<n;i++){if(vex[i].y<vex[0].y||(vex[i].y==vex[0].y&&vex[i].x<vex[0].x)){point temp;temp=vex[0];vex[0]=vex[i];vex[i]=temp;}}sort(vex+1,vex+n,cmp);memset(stackk,0,sizeof(stackk));stackk[0]=vex[0];stackk[1]=vex[1];top=2;for(i=2;i<n;i++){while(top>=2&&cross(stackk[top-2],stackk[top-1],vex[i])<0){top--;}stackk[top++]=vex[i];}
}
int main()
{int t;scanf("%d",&t);while(t--){int n,q,p;scanf("%d%d%d",&p,&q,&n);int i;for(i=0;i<n;i++){scanf("%d%d",&vex[i].x,&vex[i].y);vex[i].num=i;}graham_scan(n);int ss=0;memset(flag,0,sizeof(flag));for(i=0;i<top;i++){flag[stackk[i].num]=1;}flag[n]=flag[0];for(i=0;i<n;i++){if(flag[i]==1&&flag[i+1]==0)ss++;}int res=top*q-ss*p-ss*q;if(res<=0)printf("0\n");elseprintf("%d\n",res);}
}

hdu2907 凸包+简单搜索相关推荐

  1. 李彦宏:简单搜索永远没有广告;安全是自动驾驶第一天条

    图片来源:新华网 在26日下午举办的2018数博会"人工智能:AI 生态加速未来"论坛中,百度董事长兼CEO李彦宏.中国科学院院士张钹.微软全球资深副总裁王永东等嘉宾分别发表了关于 ...

  2. 和我一起打造个简单搜索之SpringDataElasticSearch入门

    网上大多通过 java 操作 es 使用的都是 TransportClient,而介绍使用 SpringDataElasticSearch 的文章相对比较少,笔者也是摸索了许久,接下来本文介绍 Spr ...

  3. BFS简单搜索--POJ 2243

    这题就是简单的BFS搜索,刚刚转到C++,还有很多库函数不熟悉,理解到BFS是一种奇妙的迭代法,其用的主要是队列的性质. 1 /*BFS简单搜索*/ 2 #include<iostream> ...

  4. java 搜索引擎 关键词高亮_和我一起打造个简单搜索之SpringDataElasticSearch关键词高亮(示例代码)...

    前面几篇文章详细讲解了 ElasticSearch 的搭建以及使用 SpringDataElasticSearch 来完成搜索查询,但是搜索一般都会有搜索关键字高亮的功能,今天我们把它给加上. 系列文 ...

  5. 夸克、QQ浏览器、简单搜索竞品分析报告

    作者:迷航 (转载已取得作者授权) 一.竞品分析目的 伴随着中国移动互联网的人口红利逐渐到顶,手机浏览器市场的马太效应也越发强烈.在激烈的竞争环境下,仍有新价值要素正在带来新的机会:Z时代.00后用户 ...

  6. python discuz搜索api_Django用内置方法实现简单搜索功能的方法

    Model中分别提供了filter方法和icontains方法实现简单的搜索功能. html页面中实现搜索框 模板api_test_manage.html中增加以下内容 {% csrf_token % ...

  7. POJ 1321-棋盘问题-简单搜索DFS

    POJ 1321-棋盘问题-简单搜索DFS Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编 ...

  8. HDU 1240 Asteroids!(DFS简单搜索)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1240 Asteroids! Time Limit: 2000/1000 MS (Java/Others ...

  9. 和我一起打造个简单搜索之ElasticSearch入门

    本文简单介绍了使用 Rest 接口,对 es 进行操作,更深入的学习,可以参考文末部分. 环境 本文以及后续 es 系列文章都基于 5.5.3 这个版本的 elasticsearch ,这个版本比较稳 ...

最新文章

  1. 【iOS报错】“this class is not key value coding-compliant for the key userPhoneNum”给字典设置键值对的时候报错...
  2. 1.19 实例:Java求数组元素的最大和最小值
  3. Cannot resolve symbol ‘NotBlank‘ Cannot resolve symbol ‘Email‘ Cannot resolve symbol ‘NotEmpty‘
  4. 2018.12.15
  5. ResNet详解(转)
  6. (转)使用JDK中的Proxy技术实现AOP功能
  7. jieba java_【NLP】【一】中文分词之jieba
  8. java常用设计模式总结
  9. 用Python写几个小游戏(附源码)
  10. 扒一扒网易云课堂python课程,发现还有不少可以白嫖的免费好资源
  11. 函数9:生成器和 yield 语句
  12. 面试题 丑数(10)
  13. Redis中什么是热Key问题?如何解决热Key问题?
  14. js版本飞机大战(完整代码)
  15. c语言做搬山游戏,C语言实现搬山小游戏,适合新手的项目实战,超易上手!
  16. 开放申请 | 2020年百度奖学金正式启动
  17. Java bin 目录下的小工具使用与学习
  18. 技术干货:Apache Pulsar 在移动云上的应用
  19. 虚拟机能ping通,但是telnet某个端口却不行
  20. 蓝桥杯刷题021——填字母游戏(DFS)

热门文章

  1. 两个天才黑客:一人在牢狱之灾后退隐江湖,一人蜕变成阿里巴巴“守护神”!...
  2. 文悦古体仿宋字体官方版
  3. [前端系列]vue3修改模板变量间隔符
  4. 火车头定制规则php什么意思,火车头WordPress发布规则写法教程
  5. python打卡提醒机器人(企业微信)
  6. 844. 走迷宫 + BFS
  7. ffmpeg学习 函数分析swr_convert
  8. 阿里巴巴二重身ABBC Coin虚涨逾100%
  9. Dataframe中筛选出满足条件的行
  10. Google的搜索来源分布跟踪解读:GGGL与GGLD,sourceid和client,rlz,rls等