ZT33 圆覆盖 | Go 二分

圆覆盖

https://www.nowcoder.com/practice/4f96afe5dfe74dad88dbe419d33f9536

题意

平面上有n个点,每个点有一个点权v。你现在可以以原点为圆心放置一个圆,请问要使圆能覆盖到的点的权值和达到x,圆的半径至少为多少?

思路

最小值问题 先考虑下单调性

点的点权为正整数,如果圆的半径增加,那么能覆盖的点会增大,权值和增大,具有单调性,所以可以二分圆的半径。

对于check函数,需要判断在圆里的点的权值和。这里用的是点到原点的距离和半径的比较做的

Go代码

package main

import "fmt"

type MyPoint struct {
	x, y, v int64
}

func main() {
	var n int
	var x int64
	fmt.Scan(&n, &x)
	points := make([]MyPoint, n+1)
	for i := 1; i <= n; i++ {
		fmt.Scan(&points[i].x, &points[i].y, &points[i].v)
	}
	var l, r, ans float64 = 0, 1e10, -1
	const AUC = 0.000_001
	check := func(r float64) bool {
		var sum int64 = 0
		for i := 1; i <= n; i++ {
			var tmp int64 = points[i].x * points[i].x + points[i].y * points[i].y
			if float64(tmp) <= r * r {
				sum += points[i].v
			}
		}
		return sum >= x
	}
	for l <= r {
		mid := (l + r) / 2
		if check(mid) {
			ans = mid
			r = mid - AUC
		} else {
			l = mid + AUC
		}
	}
	fmt.Println(ans)
}

#牛客创作赏金赛#
15天大厂真题带刷Go题解 文章被收录于专栏

15天大厂真题带刷Golang题解

全部评论

相关推荐

找工作勤劳小蜜蜂:自我描述部分太差,完全看不出想从事什么行业什么岗位,也看不出想在哪个地区发展,这样 会让HR很犹豫,从而把你简历否决掉。现在企业都很注重员工稳定性和专注性,特别对于热爱本行业的员工。 你实习的工作又太传统的it开发(老旧),这部分公司已经趋于被淘汰,新兴的互联网服务业,比如物流,电商,新传媒,游戏开发和传统的It开发有天然区别。不是说传统It开发不行,而是就业岗位太少,基本趋于饱和,很多老骨头还能坚持,不需要新血液。 工作区域(比如长三角,珠三角,成渝)等也是HR考虑的因素之一,也是要你有个坚定的决心。否则去几天,人跑了,HR会被用人单位骂死。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
正在热议
更多
# 大厂实习和小厂实习最大的区别是什么? #
2268次浏览 20人参与
# 参加完秋招的机械人,还参加春招吗? #
119926次浏览 760人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
18778次浏览 302人参与
# 牛友の3月总结 #
1790次浏览 24人参与
# 这些公司卡简历很严格 #
95208次浏览 417人参与
# 面试被问到不会的问题,你怎么应对? #
675次浏览 8人参与
# 米连集团26产品管培生项目 #
14483次浏览 291人参与
# 拼多多工作体验 #
52650次浏览 341人参与
# 研究所VS国企,该如何选 #
259038次浏览 2013人参与
# 通信硬件知识分享 #
48134次浏览 538人参与
# 找AI工作可以去哪些公司? #
17008次浏览 746人参与
# 从事AI岗需要掌握哪些技术栈? #
14870次浏览 841人参与
# 你做过最难的笔试是哪家公司 #
47344次浏览 750人参与
# 实习最想跑路的瞬间 #
130950次浏览 739人参与
# 金三银四,你的春招进行到哪个阶段了? #
24556次浏览 297人参与
# 说说你知道的学历厂 #
391003次浏览 1379人参与
# AI面会问哪些问题? #
36045次浏览 1071人参与
# 想给25届机械人的秋招建议 #
47737次浏览 251人参与
# 机械人避雷的岗位/公司 #
62887次浏览 395人参与
# 大厂无回复,继续等待还是奔赴小厂 #
343360次浏览 1988人参与
# 滴!实习打卡 #
814703次浏览 6858人参与
# 我心目中的理想工作是这样的 #
100873次浏览 907人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务