![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线性优化
文章平均质量分 66
EagleEyeKestrel
2019-2020年度中国睡觉甲级联赛冠军
展开
-
Leetcode P1862 向下取整数对和
Leetcode P1862 向下取整数对和给你一个整数数组 nums ,请你返回所有下标对 0 <= i, j < nums.length 的 floor(nums[i] / nums[j]) 结果之和。由于答案可能会很大,请你返回答案对10^9 + 7 取余 的结果。函数 floor() 返回输入数字的整数部分。示例:输入:nums = [2,5,9]输出:10解释:floor(2 / 5) = floor(2 / 9) = floor(5 / 9) = 0floor(2 /原创 2021-06-13 15:52:35 · 237 阅读 · 2 评论 -
Leetcode 5752. 子数组最小乘积的最大值
Letcode 5752. 子数组最小乘积的最大值一个数组的 最小乘积 定义为这个数组中 最小值 乘以 数组的 和 。比方说,数组 [3,2,5] (最小值是 2)的最小乘积为 2 * (3+2+5) = 2 * 10 = 20 。给你一个正整数数组 nums ,请你返回 nums 任意 非空子数组 的最小乘积 的 最大值 。由于答案可能很大,请你返回答案对 10^9 + 7 取余 的结果。请注意,最小乘积的最大值考虑的是取余操作 之前 的结果。题目保证最小乘积的最大值在 不取余 的情况下可以用原创 2021-05-09 16:31:15 · 306 阅读 · 0 评论 -
Leetcode P5748 包含每个查询的最小区间
Leetcode P5748 包含每个查询的最小区间给你一个二维整数数组 intervals ,其中 intervals[i] = [left_i, right_i] 表示第 i 个区间开始于 left_i 、结束于 right_i(包含两侧取值,闭区间)。区间的 长度 定义为区间中包含的整数数目,更正式地表达是 right_i - left_i + 1 。再给你一个整数数组 queries 。第 j 个查询的答案是满足 left_i <= queries[j] <= right_i 的 长原创 2021-05-03 01:40:02 · 186 阅读 · 0 评论 -
Leetcode P1782 统计点对的数目
Leetcode P1782 统计点对的数目给你一个无向图,无向图由整数 n ,表示图中节点的数目,和 edges 组成,其中 $edges[i] = [u_i, v_i] $表示 uiu_iui 和 viv_ivi 之间有一条无向边。同时给你一个代表查询的整数数组 queries 。第 j 个查询的答案是满足如下条件的点对 (a, b) 的数目:a < bcnt 是与 a 或者 b 相连的边的数目,且 cnt 严格大于 queries[j] 。请你返回一个数组 answers ,原创 2021-03-09 23:43:53 · 221 阅读 · 0 评论 -
Codeforces Round 703 D Max Median
Codeforces Round 703 D Max Median长度为n的数组a,求其中所有长度至少为k的子数组中,最大的中位数是多少?其中中位数的定义,是⌊n−12⌋\lfloor \frac{n-1}{2}\rfloor⌊2n−1⌋位置的元素(索引从0开始)。其中1≤k≤n≤2∗1051\leq k\leq n\leq 2 *10^51≤k≤n≤2∗105,1≤a[i]≤n1\leq a[i]\leq n1≤a[i]≤n。比赛的时候没想到,其实直接二分就可以了。假设要检查是否存在中位数大于等于x原创 2021-02-19 15:39:54 · 119 阅读 · 1 评论 -
Leetcode P1330. 翻转子数组得到最大的数组值
Leetcode P1330. 翻转子数组得到最大的数组值给你一个整数数组 nums 。「数组值」定义为所有满足 0 <= i < nums.length-1 的 |nums[i]-nums[i+1]| 的和。你可以选择给定数组的任意子数组,并将该子数组翻转。但你只能执行这个操作 一次 。请你找到可行的最大 数组值 。示例 1:输入:nums = [2,3,1,5,4]输出:10解释:通过翻转子数组 [3,1,5] ,数组变成 [2,5,1,3,4] ,数组值为 10 。示例原创 2021-01-11 16:52:57 · 201 阅读 · 0 评论 -
Codeforces Round 693 (Div 3)
Codeforces Round 693(Div 3)F New Year’s Puzzle这里就不放原题目描述了。有2×n2\times n2×n的方格,我们有1×21\times21×2和2×12\times12×1的瓷砖,方格里有若干个点已经贴了瓷砖,问能否完美贴住?(瓷砖数量没有限制)输入:样例数t(1≤t≤104)t(1\leq t\leq 10^4)t(1≤t≤104)整数n和m,n是方格的长(宽永远是2),m是已经有的瓷砖数量。1≤n≤109,1≤m≤2×1051\leq n \le原创 2021-01-09 17:27:58 · 131 阅读 · 0 评论 -
Leetcode 5632. 检查边长度限制的路径是否存在
Leetcode P5632 检查边长度限制的路径是否存在给你一个 n 个点组成的无向图边集 edgeListedgeListedgeList ,其中 edgeList[i]=[ui,vi,disi]edgeList[i] = [u_i, v_i, dis_i]edgeList[i]=[ui,vi,disi] 表示点 uiu_iui 和点 viv_ivi 之间有一条长度为 disidis_idisi 的边。请注意,两个点之间可能有 超过一条边 。给你一个查询数组queriesqueriesq原创 2020-12-21 00:25:42 · 145 阅读 · 0 评论 -
Codeforces Round 690 (Div3)
Close TuplesThis is the hard version of this problem. The only difference between the easy and hard versions is the constraints on ???? and ????. In this version of the problem, you need to output the answer by modulo 10^9+7.You are given a sequence ????原创 2020-12-16 01:17:44 · 319 阅读 · 0 评论 -
【Leetcode】P137 只出现一次的数字II
Leetcode P137 只出现一次的数字II给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,3,2]输出: 3示例 2:输入: [0,1,0,1,0,1,99]输出: 99这么简单的题居然没想到。。一直在想异或,然后想到partition,想偏了。其实把每个数想象成32个bit,那么每一位,假设只出现一次的数是x,如果x在那一位原创 2020-09-30 00:00:10 · 56 阅读 · 0 评论 -
【洛谷】P1419 寻找段落
洛谷P1419 寻找段落题目描述给定一个长度为n的序列a_i,定义a[i]为第i个元素的价值。现在需要找出序列中最有价值的“段落”。段落的定义是长度在[S,T]之间的连续序列。最有价值段落是指平均值最大的段落,段落的平均值=段落总价值/段落长度。输入格式第一行一个整数n,表示序列长度。第二行两个整数S和T,表示段落长度的范围,在[S,T]之间。第三行到第n+2行,每行一个整数表示每个元素的价值指数。输出格式一个实数,保留3位小数,表示最优段落的平均值。输入输出样例输入 #132 2原创 2020-09-14 00:37:27 · 1121 阅读 · 2 评论