【每日一题】8月26日题目精讲

题号 NC110113
名称 Summer Earnings
来源 CF333E
戳我进入往期每日一题汇总贴~
往期每日一题二期题单

图片说明

如果你在题库做题时遇到了喜欢的题目,欢迎推荐给邓老师~ 点击查看详情

题解

n个点,任选其中三个为圆心作三个半径相同的圆,要求这三个圆不能相交(可以相切),求圆最大的半径是多少。
思路:任选三个点,圆的最大半径肯定是三个点当中距离最小的两个点的距离的一半。
考虑怎么来找到这三个点,直接暴力枚举点肯定不行,我们考虑把所有点的两两连出的边都求出来,然后从大到小排序,当我们从大到小遍历所有的边时,判断当前这条边连接的两个点是否已经在前面的边中和同一个点连上了(注意不是连上就可以,a和b连上了可能是a-c-d-b,这样是不算的),如果是,那就找到我们要找的三角形里面的最小边了。
我们怎么快速判断a和b是否连在了同一个点上呢?
对于每个点都开一个bitset,a点的bitset第i位为1,表示a已经和i连了边,那么我们把a和b的bitset做一个and运算,如果还有1存在,那么a和b之前就连过同样的点,此时的边a-b就是我们要求的三角形里面最短的那个边。

欢迎各位大佬来做题写题解,也欢迎大家踊跃在当日讨论贴中提问!

活动奖励:

在牛客博客中写出题解,并回复地址
审核通过可获得(依据题目难度和题解的内容而定)

本道题目9月2日中午12:00之前写的题解有获得牛币资格~

.牛币兑换中心

牛客博客开通方式

  1. 如何开通牛客博客:https://www.nowcoder.com/discuss/202952
  2. 如何使用博客搬家功能:进入博客--->设置--->底部博客搬家
  3. 如果你对牛客博客有任何意见或建议:牛客博客意见反馈专贴
全部评论
https://blog.nowcoder.net/n/d531481dc41d41bcacb55afc5976d4ed
点赞 回复 分享
发布于 2020-08-27 16:56
https://blog.nowcoder.net/n/1ea2e897140b4592924897390e855b5f
点赞 回复 分享
发布于 2020-08-25 20:05

相关推荐

i泡后援团团长:开局叠个甲,我自己实习经验很少,我只说我看到的。 1. 其实你的bg不算很强,不能说bg竞争优势大。比不过双9硕文科生,比不过9本技术背景出身工科生。另外可能遇到了本科歧视 2. 我是觉得你的实习有点割裂,四段实习攒下了四类赛道的经验,而产品又很吃垂直赛道经验。那我是hr我能深挖的就一段对口实习经历。非要说共性,那我感觉可能都是在产品设计阶段,对用户体验做了很多功夫。 3. 个人感觉简历字数有点多,一眼看过去不知道你干了啥,哪怕你有写上数据来支撑产出。但也可能是我水平有限看不出来。
点赞 评论 收藏
分享
渐好:软光栅真的写明白了吗,既然是软渲那技术栈不应该使用OpenGL,光追和bvh既不算什么高级渲染技术更不应该属于软渲的内容,git那个项目没啥用,建议把前两个项目重新组织一下语言,比如软渲染那个项目 冯着色和msaa、贴图这几项分开写,写的到位点,如果你还学过光追那就单独写出来,如果没把握考官问你答不上来就别写给自己找麻烦,在技术栈那一栏简单提一下自己学过就行,这样杂的放在一起不太严谨,个人愚见.
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务