2018大都会赛 A Fruit Ninja【随机数】
题目链接:戳这里
题意:一个平面里有n个点,问存不存在一条直线上有m个点,满足m >= n*x。
解题思路:0<x<1,且x小数点后只有1位,也就是说10*m > n。假设存在一条直线满足条件,则任意一点在m中的概率>0.1,也就是说理论上随机10个点,一定有一个点在m上。所以随机一个点,遍历与其他点的斜率,斜率相同的点 + 该点本身 >= n * m,则符合条件。
附ac代码:
1 #include <iostream>
2 #include<bits/stdc++.h>
3 using namespace std;
4 typedef long long ll;
5 #define lson l,mid,rt<<1
6 #define rson mid+1,r,rt<<1|1
7 #define lef rt<<1
8 #define rig rt<<1|1
9 const int maxn = 2e5 + 10;
10 const ll mod = 998244353;
11 const ll inf = 0x3f3f3f3f;
12 const double eps = 1e-6;
13 struct nod
14 {
15 double x;
16 double y;
17 }coo[maxn];
18
19 int main()
20 {
21 int t;
22 scanf("%d", &t);
23 double x;
24 int n;
25 while(t--)
26 {
27
28 scanf("%d %lf", &n, &x);
29 for(int i = 1; i <= n; ++i)
30 {
31 scanf("%lf %lf", &coo[i].x, &coo[i].y);
32 }
33 int cas = 20;
34 while(cas--)
35 {
36 map<double, double> mp;
37 int i = rand() % n + 1, j = 1;
38 for(j = 1; j <= n; ++j)
39 {
40 if(i == j)continue;
41 double u;
42 if(fabs(coo[j].x - coo[i].x) < eps)
43 {
44 u = inf + 1.0;
45 ++mp[u];
46 if(mp[u] + 1.0 + eps > n * x) break;
47 }
48 else
49 {
50 u = (coo[i].y - coo[j].y) / (coo[i].x - coo[j].x);
51 ++mp[u];
52 if(mp[u] + 1.0 + eps > n * x) break;
53 }
54 }
55 if(j <= n) break;
56 }
57 if(cas > 0) puts("Yes");
58 else puts("No");
59 }
60 return 0;
61 }
2018大都会赛 A Fruit Ninja【随机数】的更多相关文章
- 牛客 Fruit Ninja 2018 ACM 上海大都会赛 (随机化算法)
题目链接:Fruit Ninja 比赛链接:2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 题目描述 Fruit Ninja is a juicy action game enjoyed ...
- 2018 ACM 国际大学生程序设计竞赛上海大都会赛
传送门:2018 ACM 国际大学生程序设计竞赛上海大都会赛 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛2018-08-05 12:00:00 至 2018-08-05 17:00:0 ...
- sdut 2416:Fruit Ninja II(第三届山东省省赛原题,数学题)
Fruit Ninja II Time Limit: 5000MS Memory limit: 65536K 题目描述 Have you ever played a popular game name ...
- Fruit Ninja(随机数rand())
链接:https://www.nowcoder.com/acm/contest/163/A来源:牛客网 题目描述 Fruit Ninja is a juicy action game enjoyed ...
- 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it
链接:https://www.nowcoder.com/acm/contest/163/F 来源:牛客网 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it 时间限制:C ...
- 2018 ACMICPC上海大都会赛重现赛 H - A Simple Problem with Integers (线段树,循环节)
2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 H - A Simple Problem with Integers (线段树,循环节) 链接:https://ac.nowcoder.co ...
- 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it (扫描线)
2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it (扫描线) 链接:https://ac.nowcoder.com/acm/contest/163/F来源:牛客网 时间 ...
- 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 J Beautiful Numbers (数位DP)
2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 J Beautiful Numbers (数位DP) 链接:https://ac.nowcoder.com/acm/contest/163/ ...
- 2018 ICPC上海大都会赛重现赛 D Thinking-Bear magic (几何)
2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 D Thinking-Bear magic (几何) 链接:https://ac.nowcoder.com/acm/contest/163/ ...
随机推荐
- 利用容器逃逸实现远程登录k8s集群节点
某天, 某鱼说要吃瞄, 于是...... 李国宝:边缘计算k8s集群SuperEdge初体验 zhuanlan.zhihu.com 图标 照着上一篇文章来说,我这边边缘计算集群有一堆节点. 每个节 ...
- ELK一个优秀的日志收集、搜索、分析的解决方案
1 什么是ELK? ELK,是Elastaicsearch.Logstash和Kibana三款软件的简称.Elastaicsearch是一个开源的全文搜索引擎.Logstash则是一个开源的数据收集引 ...
- linux设备
设备初始化时同样要执行一个device_register函数,该函数传入一个struct device *类型的指针,因此要定义一个struct device类型的变量作为我们的设备. struct ...
- /bin/sh: cc: command not found
make的时候报错:/bin/sh: cc: command not found 解决: 1. sudo yum -y install gcc gcc-c++ libstdc++-devel 2. m ...
- Windows Server 2012 R2 英文版汉化安装中文语言包教程更改为中文版
是这样的,一台海外的windows机器默认是英文版的,但是特别费劲用起来,就更改为中文版,因为海外的供应商并不提供中文版镜像. 1.首先打开控制面板,找到add language,拉到底就是有中文,很 ...
- JVM虚拟机垃圾回收(GC)算法及优缺点
一.什么是GC GC是jvm的垃圾回收,垃圾回收的规律和原则为: 次数上频繁收集新生区(Young) 次数上较少收集养老区(Old) 基本上不动永久区(Perm) 二.GC算法(分代收 ...
- 2、剑指offer-字符串——替换空格
**题目描述** **请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. ...
- WPF学习里程(二) XAML基础
1.什么是XAML? 官方语言: XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言,它是微软公司为构建应用程序用 ...
- 单点登录(SSO)的设计与实现
一.前言 1.SSO说明 SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.https://baike.baidu.c ...
- VS Code 使用教程详解
一.写在前面 1.为什么选择 \(VS\) \(code\) 一款非常好用的代码编辑器 标准化 \(Language\) \(Service\) \(Protocol\) 内置调试器和标准化 \(De ...