摘要: 原题链接:105.七夕祭 解题思路 ####分治+贪心+前缀和+中位数+排序 这道题有一个非常重要的性质就是,只会改变相邻的两个数的位置,因此我们交换两个数,只会改变一行或一列的喜爱小摊,而不会同时改变行和列的喜爱小摊,既然这样的话,我们就可以将这道题目分为两个部分,一部分是求行的最少次数,一部分是 阅读全文
posted @ 2021-01-14 18:16 hnkjdx_react 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 原题链接:104.货仓选址 解题思路 把A[1]~A[N]排序,设货仓建在 X 坐标处,X 左侧的商店有 P 家,右侧的商店有 Q 家。若 P < Q ,则把货仓的选址向右移动 1 单位距离,距离之和就会减小 Q - P。同理,若 P > Q ,则货仓的位置想左移动会使距离之和变小。当 P = Q 阅读全文
posted @ 2021-01-14 17:47 hnkjdx_react 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 原题链接:103. 电影 解题思路 虽然语言的范围在int以内,但是这m部电影与n个人最多涉及 2(m+n) 种语言。我们把所有电影和人涉及的语言放进一个数组,排序并离散化,用一个 1~2(m+n) 之间的整数代替每种语言。此时我们就可以利用数组直接统计会上述每种语言的人的数量,从而选择满足题目要求 阅读全文
posted @ 2020-12-28 15:45 hnkjdx_react 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 原题链接:113. 特殊排序 解题思路 根据数学归纳法,假设前k-1哥元素之间的大小关系是已经按照要求排成一行,如果可以确定第k个元素应该放在哪一个前面,即可解决问题。 我们可以通过哟这样一种二分法确定第k个元素的位置:若第k个元素比第mid个元素小,令r=mid,否则令l=mid+1。二分的初始区 阅读全文
posted @ 2020-12-28 15:28 hnkjdx_react 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 原题链接:102. 最佳牛围栏 解题思路 ####本题题意为:给定正整数序列A,求一个平均数最大的、长度不小于L的(连续的)子段。 首先我们可以这样理解,我们要寻找一段数列,这个数列满足,长度不小于L,并且它的子段和非负。也就是我们需要的二分判定。 二分:首先我们的mid=(l+r)/2,记住这里不 阅读全文
posted @ 2020-12-28 15:07 hnkjdx_react 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 原题链接:101. 最高的牛 解题思路 ####差分+区间处理小操作 这道题目的一个核心要点,就是如何处理这些特殊的关系,也就是两头牛能互相看见。 其实题目中已经告诉我们如何处理,因为我们发现,题目中要求牛的身高最高,那么既然如此,我们完全可以将每一组关系(A,B),看作[A+1,B-1]这组牛身高 阅读全文
posted @ 2020-12-28 14:37 hnkjdx_react 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 原题链接:100. 增减序列 解题思路 求出 a 的差分序列 b,其中 b1 = a1,bi = ai - ai-1(2 ⇐ i ⇐ n)。令 bn+1 = 0。题目对序列 a 的操作,相当于每次可以选出 b1,b2,...,bn+1 中的任意两个数,一个加一,另一个减一。目标是把 b2,b3,.. 阅读全文
posted @ 2020-12-20 15:27 hnkjdx_react 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 原题链接:Acwing99. 激光炸弹 解题思路 因为Xi,Yi的值在0~5000之间,所以我们可以建立一个二维数组 A,其中 A[i,j] 就等于位置 (i,j) 上的所有目标的价值之和。即对于每个目标,令 A[Xi,Yi]+=Wi。 接下来我们求出 A 的二维前缀和 S,即: ###S[i,j] 阅读全文
posted @ 2020-12-20 15:04 hnkjdx_react 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 原题链接:98. 分形之城 解题思路 递归+分治+数学坐标系公式+找规律 递归+分治好理解,因为这个题目中最显著的特点就是,不断地重复旋转复制,也就是N级城市,可以由4个N−1级城市构造,因此我们每次可以不断地分形N−1级,将问题范围不断地缩小即可 这道题目的数学坐标公式,其实一共有两个,一个是高中 阅读全文
posted @ 2020-12-18 18:55 hnkjdx_react 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 原题链接:97. 约数之和 解题思路 根据乘法分配律,AB的所有约数之和为: (1+p1+p12+...+p1BxC1)x(1+p2+p22+...+p2BxC2)x...x(1+pn+pn2+...+pnBxCn) 我们把改式展开,与约数集合比较。 上式中的每个括号内都是等比数列,如果使用等比数列 阅读全文
posted @ 2020-12-18 18:33 hnkjdx_react 阅读(134) 评论(0) 推荐(0) 编辑