gym224647B

题意:

在二维平面中·选出一个面积最小的三角形,输出这个三角形面积的两倍。

解法:

首先,最优解一定在相邻最近的三个点中产生。

然后我们就可以用向量求三角形的面积。

CODE:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath> using namespace std; #define LL long long
const int N = 4e5 + 10;
const LL MAX = 9223372036854775805; struct Vec {
LL x , y;
} p[N]; inline LL labs(LL x) {
return x < 0 ? - x : x ;
}
inline LL calc(Vec a , Vec b) {
return labs (a.x * b.y - a.y * b.x);
}
LL ans = MAX,n; int main () {
scanf("%lld",&n);
for(int i = 1 ; i <= n ; i++) {
scanf("%lld%lld",&p[i].x,&p[i].y);
p[i + n] = p[i];
}
for(int i = 1 ; i <= n ; i++) {
int j = i + 1,k = j + 1 ; // i - j , k - j
Vec a,b;
a.x = p[i].x - p[j].x;
a.y = p[i].y - p[j].y;
b.x = p[k].x - p[j].x;
b.y = p[k].y - p[j].y;
LL res = calc(a,b) ;
if(res != 0) ans = min(ans,res);
}
printf("%lld\n",ans);
//system("pause");
return 0 ;
}

gym224647B的更多相关文章

随机推荐

  1. IE6/7下Select控件Display属性无效解决办法

    HTML的Select控件,C#的DropDownList服务器控件 设置父类型Display属性之后,在IE6/7上无效 直接将下段javascript脚本添加到页面中即可 <script t ...

  2. SQL 语句使用关键字错误

    异常为SQL Error: 1064, SQLState: 42000 时 ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIG ...

  3. 媲美pandas的数据分析工具包Datatable

    1 前言 data.table 是 R 中一个非常通用和高性能的包,使用简单.方便而且速度快,在 R 语言社区非常受欢迎,每个月的下载量超过 40 万,有近 650 个 CRAN 和 Biocondu ...

  4. 搭建nginx静态资源站

    搭建静态资源站包括以下几部分: root指令与alias指令的区别 使用gzip压缩资源 如何访问指定目录下的全部资源文件 如何限制访问流量 如何自定义log日志 root指令与alias指令的区别 ...

  5. 运行 jar 的问题

    lib stwe.jar 同目录

  6. XCode5环境下利用crash log调试线上Crash的流程

    1.前言 本文主要介绍在XCode5环境下,如何根据App自己生成的crashlog来调试真机上运行时产生的crash问题. 2. 步骤 (1)构造一段会crash的代码,并放到viewDidLoad ...

  7. java之高并发与多线程

    进程和线程的区别和联系 从资源占用,切换效率,通信方式等方面解答 线程具有许多传统进程所具有的特征,故又称为轻型进程(Light—Weight Process)或进程元:而把传统的进程称为重型进程(H ...

  8. 【转】Golang关于channel传递引用引发的坑

    原文: https://studygolang.com/articles/12310/comment/17923 ------------------------------------------- ...

  9. throttle(节流函数) 与 debounce(防抖动函数)理解与实现

    我们会对一些触发频率较高的事件进行监听,(如:resize scroll keyup事件) 如果在回调里执行高性能消耗的操作(如反复操作dom, 发起ajax请求等),反复触发时会使得性能消耗提高,浏 ...

  10. 第82题:删除排序链表中的重复元素II

    一. 问题描述 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字. 示例 1: 输入: 1->2->3->3->4->4->5 ...