题目链接:传送门

知识点:

(1)三个点,三角形求面积公式

(2)精度问题:

double 15-16位(参考文章

float 6-7位

long long 约20位

int 约10位

unsigned int 是int的两倍(参考文章

(3)nth_element()函数

思路:一开始想直接暴力求面积,然后面积排序,后来有发现面积不能是0,可以重复,

然后排序求出第k大的值,结果没注意double的位数不能精确到达到18位,然后又想四舍五入,

对尾数进行了处理,还是没过。看来题解才发现最后的精度还可以分开写,get到了。

还有·就是nth_element函数的使用,排序的耗时太多,我后来选择用快排,结果还是超时了,可能是递归

太多次了,而且对全部数据排序费时,后来改用STL就行了,今后还要多看看STL。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn = ;
typedef long long LL;
struct Node{
LL x,y;
}cur[maxn];
LL vc[];
void quick_sort(int l,int r)
{
int i=l,j=r;
LL tmp=vc[l];
if(l>=r) return ;
while(i!=j)
{
while(i<j&&vc[j]<=tmp) j--;
if(j>i) vc[i]=vc[j];
while(i<j&&vc[i]>=tmp) i++;
if(i<j) vc[j]=vc[i];
}
vc[i]=tmp;
quick_sort(l,i-);
quick_sort(i+,r);
}
int main(void)
{
int n,k,i,j,l,t;
double tp;
LL cc;
scanf("%d",&t);
while(t--)
{
memset(cur,,sizeof(cur));
memset(vc,,sizeof(vc));
scanf("%d%d",&n,&k);
for(i=;i<n;i++) scanf("%lld%lld",&cur[i].x,&cur[i].y);
int pos=;
for(i=;i<n;i++)
for(j=i+;j<n;j++)
for(l=j+;l<n;l++)
{
cc=cur[i].x*cur[j].y+cur[j].x*cur[l].y+cur[l].x*cur[i].y-
(cur[i].x*cur[l].y+cur[j].x*cur[i].y+cur[l].x*cur[j].y);
if(cc<) cc=-cc;
if(cc) vc[pos++]=cc;
} nth_element(vc,vc+pos-k,vc+pos);
cc=vc[pos-k];
if(cc%==)
{
printf("%lld.00\n",cc/);
}
else
{
printf("%lld.50\n",(cc-)/);
}
}
return ;
}

牛客训练二:处女座的签到题(STL+精度+三角形求面积公式)的更多相关文章

  1. 牛客网 Java 工程师能力评估 20 题 - 详解

    牛客网 Java 工程师能力评估 20 题 - 详解 不知在看博客的你是否知道 牛客网,不知道就太落后了,分享给你 : 牛客网 此 20 题,绝对不只是 20 题! 免责声明:本博客为学习笔记,如有侵 ...

  2. 牛客网数据库SQL实战解析(51-61题)

    牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...

  3. 牛客网数据库SQL实战解析(31-40题)

    牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...

  4. 牛客网数据库SQL实战解析(21-30题)

    牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...

  5. 牛客网数据库SQL实战解析(11-20题)

    牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...

  6. 牛客网数据库SQL实战解析(1-10题)

    牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...

  7. 2019牛客多校第八场 F题 Flowers 计算几何+线段树

    2019牛客多校第八场 F题 Flowers 先枚举出三角形内部的点D. 下面所说的旋转没有指明逆时针还是顺时针则是指逆时针旋转. 固定内部点的答案的获取 anti(A)anti(A)anti(A)或 ...

  8. 2020牛客多校第八场K题

    __int128(例题:2020牛客多校第八场K题) 题意: 有n道菜,第i道菜的利润为\(a_i\),且有\(b_i\)盘.你要按照下列要求给顾客上菜. 1.每位顾客至少有一道菜 2.给顾客上菜时, ...

  9. 牛客网数据库SQL实战解析(41-50题)

    牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...

随机推荐

  1. [剑指Offer]12-矩阵中的路径(回溯)

    题目链接 https://www.nowcoder.com/practice/c61c6999eecb4b8f88a98f66b273a3cc?tpId=13&tqId=11218&t ...

  2. Django中的forms一些小点

    1.默认情况下,chrom浏览器会提前对我们的form表单中的数据做校验,如果不想让chrom浏览器给我们做校验,则只需要按照下面的方式处理就可以了 <form method="pos ...

  3. selenimu学习二

    1.上传文件 from selenium import webdriver import time import os driver = webdriver.Chrome() src_file = & ...

  4. Myeclipse安装完配置

    1.Window --> preferences --> 搜索tomcat --> Tomcat7.x --> 选择Enable并导入tomcat所在目录2.Window -- ...

  5. Python 安装pyautogui

    在Python中使用PyAutoGui模拟键盘和鼠标操作 一.系统环境 操作系统:win10 64位 Python版本:Python 3.7.0 二.安装参考 1.使用pip进行安装,pip inst ...

  6. MVC中的七层架构

    工厂模式的七层架构 1.创建Model,实现业务实体. 2.创建IDAL,实现接口. 3.创建DAL,实现接口里的方法. 4.创建DBUtility,数据库操作类5.创建DALFactory,抽象工程 ...

  7. mysql备份数据库出错mysqldump: [ERROR] unknown option '--no-beep'

    公司数据库前一版本是部署在windows上面的,由于业务需要,迁移到linux,之前一段脚本在windows下使用定时任务执行正常. mysqldump -uzzz -pxxxx --opt --de ...

  8. 操作系统的发展史 day36

    什么是操作系统       可能很多人都会说,我们平时装的windows7 windows10都是操作系统,没错,他们都是操作系统.还有没有其他的? 想想我们使用的手机,Google公司的Androi ...

  9. VS2013中Nuget程序包管理器控制台使用入门(一)-准备环境(原创)

    准备环境: 1.打开VS2013IDE集成开发环境. 2.新建一个Asp.net Mvc的项目,比如命名为:MvcApplication1 3.打开 菜单"工具"->&quo ...

  10. 希尔排序和归并排序(java实现)

    希尔排序 希尔排序算法实际上是一种特殊的插入排序,由DL.Shell于1959年提出而得名. 算法思想:希尔排序使数组中任意间隔为h的元素都是有序的,这些数组称为h有序数组,对于每个h,按插入排序进行 ...