
二分法
文章平均质量分 61
二分法
Andy_Xie007
这个作者很懒,什么都没留下…
展开
-
#10012. 「一本通 1.2 例 2」Best Cow Fences
最直白的思路应该是暴力搜索,算出每一个长度大于L的子列的平均值,最后输出最大平均值,但是这样肯定会超时。观察数据规模,由于所有数据大小均不超过2000,因此本题适合用二分法进行求解。关键在于,如何判断一个子列平均值大于给定均值?首先进行预处理,让数列里每一个数减去该平均值,只要转化后的数列任意子列和为正就满足条件,不再需要比较平均数初始化former变量为0,利用former变量记录数列前(i-l)项和的最小值。(满足最小子串)从i = l开始遍历,依次检查前i项和,减去former是否大于0。原创 2023-10-31 15:55:34 · 177 阅读 · 1 评论 -
#10011. 「一本通 1.2 例 1」愤怒的牛
乍一看题目好像用贪心算法就能解决,为此还专门重新回去看了贪心部分的题目 #10006. 「一本通 1.1 练习 2」数列分段。当时解决这道题以为要根据贪心的做法,先按大小将坐标升序排列然后再考虑牛的位置,但是发现因为坐标随机分布,这样无法确定最优子结构。想要确定最优子结构,必须给定坐标之间的最小间距,通过这个距离遍历坐标,依次判定下一头牛的位置。按照最优子结构最后得出来的答案是确定最小距离的可能坐标里所最多能放置牛的数目,如果这个数目大于牛的头数则最小距离符合题意,反之不符合。原创 2023-10-28 16:18:56 · 210 阅读 · 0 评论