题目链接:传送门

知识点:

(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. SQLite4Unity3d

    What's this? When I started with Unity3d development I needed to use SQLite in my project and it was ...

  2. EasyUI Dialog 对话框默认不弹出和关闭清空对话框内容

    EasyUI中文网: http://www.jeasyui.net/plugins/181.html 默认不弹出:closed:true 模式化窗口(有遮罩):modal:true <div c ...

  3. jquey中json字符串与json的转换(转)

    <!doctype html> <html> <head> <meta charset="utf-8"> <script sr ...

  4. python中if not x: 和 if x is not None: 和 if not x is None的使用和区别

    代码中经常会有变量是否为None的判断,有三种主要的写法: 第一种是`if x is None`: 第二种是 `if not x:`: 第三种是`if not x is None`(这句这样理解更清晰 ...

  5. 用java修改文件的编码

    1.将本地的文件转换成另外一种编码输出,主要逻辑代码如下: /** * 将本地文件以哪种编码输出 * @param inputfile 输入文件的路径 * @param outfile 输出文件的路径 ...

  6. 解决python3 UnicodeEncodeError: 'gbk' codec can't encode character '\xXX' in position XX(转)

    原文地址:https://www.cnblogs.com/feng18/p/5646925.html 从网上抓了一些字节流,想打印出来结果发生了一下错误: UnicodeEncodeError: 'g ...

  7. Await Async和Thread.waitAll想法?未完待续

    [管理员]四九-李冰-修行者(2216529884) 2017/7/3 17:15:12 看着就可以了,这种东西是有使用场景的.并不是你用了就一定有提升的 [管理员]上海-xx科技(lovepoint ...

  8. Logback报错 no applicable action for [Encoding], current ElementPath is [[configuration][appender][Encoding]]

    老版本是0.9,移到springboot项目,解决办法,删除xml配置文件节点<Encoding>UTF-8</Encoding>

  9. ES6 Symbol的应用场景

    一.简介 具体使用请参考:API ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值.它是 JavaScript 语言的第七种数据类型,前六种是:undefined.null.布尔值(B ...

  10. (转)Eclipse导入EPF配置文件

      为了美化Eclipse大家可以从 http://www.eclipsecolorthemes.org/ 下载EPF配置文件,使用方法如下 (1)从File菜单 选择Import (2) 选择Gen ...