【2020牛客寒假基础算法训练营】第五场总结
- A 签到
- B
- 题意:在x轴上找一个点,使得它到给定的点之间的最大距离最小,输出最大距离的最小值
- 思路:答案点的左/右侧,得到的最大距离都比答案大,所以答案所在的点是一个极小值点。可以对在x轴上找的这个点三分,或者对最大距离二分,找到第一个满足答案的最大距离(该距离最小)
- ac代码:
//三分法
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5+10;
struct node{int x, y;
}a[maxn];
int n;
double maxdis(double x)
{double ans = 0;for(int i = 1; i <= n; i++)ans = max(ans, sqrt(a[i].y*a[i].y+(a[i].x-x)*(a[i].x-x)));return ans;
}
int main()
{//freopen("/Users/zhangkanqi/Desktop/11.txt","r",stdin);scanf("%d", &n);for(int i = 1; i <= n; i++) scanf("%d %d", &a[i].x, &a[i].y);double l = -10000, r = 10000;while((r-l)>1e-7){double midl = (r+l)/2;double midr = (midl+r)/2;if(maxdis(midl)>=maxdis(midr)) l = midl;else r = midr;}printf("%.6f\n", maxdis(r));return 0;
}
//二分
#include<bits/stdc++.h>
#define lowbit(x) ((x)&(-(x)))
using namespace std;
typedef long long LL;
const int INF=0x3f3f3f3f;
const int maxn=1e5+10;
int n;
double x[maxn],y[maxn];
bool check(double r)
{double low=-1e10,up=1e10;for(int i=1;i<=n;i++){if(abs(y[i])>r)return false;double s=x[i]-sqrt(r*r-y[i]*y[i]),t=x[i]+sqrt(r*r-y[i]*y[i]);if(t<low||s>up)return false;if(t<up)up=t;if(s>low)low=s;}return true;
}
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%lf %lf",&x[i],&y[i]);double L=0,R=10000*sqrt(2)+10;while((R-L)>1e-7){double MID=(R+L)/2;if(check(MID))R=MID;elseL=MID;}printf("%.7f\n",L);return 0;
}
- C 模拟 逃
【2020牛客寒假基础算法训练营】第五场总结相关推荐
- 2020牛客暑期多校训练营(第一场)
文章目录 A B-Suffix Array B Infinite Tree C Domino D Quadratic Form E Counting Spanning Trees F Infinite ...
- 2020牛客暑期多校训练营(第二场)
2020牛客暑期多校训练营(第二场) 最烦英语题 文章目录 A All with Pairs B Boundary C Cover the Tree D Duration E Exclusive OR ...
- E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解)
E Groundhog Chasing Death(2020牛客暑期多校训练营(第九场))(思维+费马小定理+质因子分解) 链接:https://ac.nowcoder.com/acm/contest ...
- C numi和弓道 双指针(2020牛客寒假基础训练营1 )
链接:https://ac.nowcoder.com/acm/contest/3002/C 来源:牛客网 题意: umi对弓道非常痴迷. 有一天,她在研究一个射箭问题: 在一个无限大的平面中,她站在 ...
- 2020牛客暑期多校训练营(第一场)A B-Suffix Array(后缀数组,思维)
链接:https://ac.nowcoder.com/acm/contest/5666/A 来源:牛客网 题目描述 The BBB-function B(t1t2-tk)=b1b2-bkB(t_1 t ...
- 2020牛客暑期多校训练营(第二场)未完待续......
F. Fake Maxpooling 题目: 题目大意: 输入n,m,k.矩阵的尺寸为nm,其中每一个元素为A[i][j] = lcm( i , j ).从中找出所有kk的子矩阵中元素最大的数之和. ...
- 2020牛客暑期多校训练营(第二场)Just Shuffle
https://ac.nowcoder.com/acm/contest/5667/J 题目大意:给你一个置换A,使得置换P^k=A,让你求出置换P. 思路:我们根据置换A再置换z次,那么就等于置换p ...
- 2020牛客暑期多校训练营(第一场)j-Easy Integration(思维,分数取模,沃斯利积分)
题目链接 题意: 给你一个积分公式,给你一个n,问积分公式的值取模后的结果. 思路: 积分公式(沃利斯积分)值的结论直接就是(n!)^2/(2n+1)!,求个阶乘,再用费马小定理给1/(2n+1)!取 ...
- 2020 牛客暑期多校训练营(第一场)F
题目大意: 多次输入两个a,b字符串他们可以无限次的重复变成aaa,或者bbb 比较他们的大小,相同输出 =,a<b输出 <,a>b输出 >. 输入: aa b zzz zz ...
- 2020牛客暑期多校训练营(第一场)J、Easy Integration (数学、分部积分)
题目链接 题面: 题意: 求给定的定积分. 题解,化成 ∫ xn (1-x)n dx 然后用分部积分法即可得. 分部积分法:∫ udv = uv - ∫ vdu 最终为 n!/((n+1)*(n+2) ...
最新文章
- harmonyos开发者邀请码,HarmonyOS 2.0鸿蒙第二期开发者Beta公测申请指南
- arttemplate 不转义html,使用artTemplate模板引擎渲染错误
- 【MyBatis】sql列名与实体类属性名不同的解决方式
- IOS开发基础之网易新闻环境搭建异步请求json,AFN网络封装第1天
- python内容限制_Python 限制线程的最大数量的方法(Semaphore)
- Foxmail邮件字体大小怎么设置 Foxmail字体的设置方法
- linux 中添加kvm虚拟化,在 Centos7 的KVM上启用嵌套虚拟化
- 配置Windows Server 2008 允许多用户远程桌面连接
- CodeForces-4C Registration system
- 单个圆孔菲涅耳衍射的matlab模拟,矩孔和圆孔菲涅耳衍射的计算机模拟
- 【UWB 定位】室内定位 三边定位算法
- 《虚拟仿真实验教学解决方案(BJBR)》(Yanlz+Unity+SteamVR+VR+AR+MR+HR+??BR??+??CR??+??DR??+??ER??+虚拟仿真+人机交互+立钻哥哥+==)
- 改善宝宝过敏就吃伊敏舒,azg与Aibeca爱楽倍佳携手守护中国宝宝成长
- 【格蕾读C++ Primer Plus】第九章 内存模型和名称空间
- 微软时间服务器同步错误,Windows Server 设置时间同步出错问题
- 材料写作素材:关于“大”排比句40例
- Linux kernel panic 问题解决方案
- hyu 1698 Just a Hook
- 【自然语言处理】【ChatGPT系列】FLAN:微调语言模型是Zero-Shot学习器
- Handle初解,看完你就懂了handle
热门文章
- 补丁生成与应用工具 V1.5.4
- popen和pclose
- 从其他项目中复制过来的mapper加载不进bean_手把手带你玩转k8s-一键部署springboot项目...
- Java中System.getProperty()的作用及使用
- matlab皮尔逊和斯皮尔曼,利用matlab计算Pearson和Spearman相关系数
- linux 终止作业任务命令,linux-尝试终止进程时出错—“ kill:pid:参数必须是进程或作业ID”...
- ul列表中包含input时line-height属性失效的解决办法
- [bzoj 1861][zjoi2006] 书架
- 开启进程的两种方式:类、函数
- Thinkphp5笔记七:设置错误页面②
- 2020牛客暑期多校训练营(第一场)