首页 > 最大最小
头像 LQstoic
发表于 2021-09-02 23:17:37
题意描述 在一个数组当中找到满足某种条件的区间,该区间的最大值大于等于区间的最小值的2倍,返回这种区间的个数。首先,我们要知道在数组中找到的区间,则这个区间中的数必须是连续的,例如[1,2,3,4,5]这个数组,则它的区间可以是[1,2,3],但不能是[1,2,4,5]。 题解 暴力解法 解题思路: 展开全文
头像 zqy1018_
发表于 2020-08-01 23:40:38
A 由题意,设 b 的前两个数为 。那么公差最多有 9 种,即 。因此暴力枚举并判断即可。 B 可以用树形 DP,更简单的做法是发现答案等于所有边权和的两倍减去树的直径。 C 考虑固定右端点 ,计算可行的区间左端点数目。发现区间最大值随着左端点左移单调不减,区间最小值随着左端点左移单调不增。这表明如 展开全文
头像 湘潭大学——00001
发表于 2020-08-02 12:46:47
最大最小(C题) 在我自己blog写的详细点(比较懒,这里就复制解法给大家看)。 blog:https://www.cnblogs.com/grisaia/p/13418456.html(参考别人代码写的,打的时候没过)。 解法: 首先用一个数组储存A[i]前面第一个比 展开全文
头像 xqxls
发表于 2021-09-01 22:35:16
题意整理 给定一个数组。 求所有的区间中,满足区间最大值大于等于最小值对应的区间个数。 方法一(暴力) 1.解题思路 先确定左端点,然后遍历所有的右端点。 每次记录最大值和最小值,只要最大值大于等于最小值,则结束内循环。将满足条件的区间数加入到结果变量。 直到确定完所有的左端点。 动图展示: 展开全文
头像 elkkkk
发表于 2021-09-03 21:25:15
题意: 给你个数,请求出这个数有多少个连续的区间,使得每个区间都满足: 区间内数字的最大值大于等于区间内数字的最小值的两倍 解法一(暴力求解,不可AC) 直接枚举所有区间,并判断是否满足条件 具体的:     第一层循环枚举左端点,并且在第一 展开全文

等你来战

查看全部