• Global Round 2 题解


    (Global Round 2)题解

    (zhanglichen 2021.1.1)

    (A.Ilya and a Colorful Walk)

    给出一个数组,询问(2)个不相同的数字的最远距离。

    (Solution)

    做法有很多,刚开始来不及细想直接打了发线段树过的,(A)题上线段树,很有精神。

    时间复杂度(O(nlogn))

    (B.Alyona and a Narrow Fridge)

    给出一个高为(h),宽为(2)个冰箱,可以在冰箱里面放置宽为(2)的隔板。

    给出(n)个酒瓶的高度,酒瓶可以放置在冰箱里,每个酒瓶的宽为(1)。但是一个酒瓶不能放在另一个酒瓶的上面,如果它们之间没有隔板。

    现在询问一个最大的(k),使得编号(1)(k)的酒瓶都能放在冰箱里。

    (Solution)

    简单推导后可以发现,对于一个(k),可以把编号(1)(k)的酒瓶从大到小排序,(2)(2)个放,一定可以最优利用空间。考虑到答案具有单调性,可以二分(k)

    时间复杂度(O(n^2logn))

    (C.Ramesses and Corner Inversion)

    给出(2)(n*m)的矩阵(a)(b),单次修改可以选择(a)的一个小矩阵,把它的四个角取反。

    但是不允许单点修改。

    询问能否将(a)变成(b)

    (Solution)

    从上到下、从左到右依次修改即可。

    时间复杂度(O(n^2))

    (D.Frets On Fire)

    给出一个数组(a),每次询问(l)(r),每个(a_i)的范围是(a_i+l)(a_i+r)。询问整个数组覆盖的总范围长度。

    (Solution)

    首先对数组(a)排序并去重,可以确定范围的起点是(a_1+l),范围的终点是(a_n+r)

    现在考虑整个范围哪些地方是空出来的。

    当且仅当(a_i+r<a_{i+1}+l)的时候,(a_i)表示的范围和(a_i+1)表示的范围是不相交的。中间空出来的这段长度(x=a_{i+1}-a_i-(r-l))

    因此我们可以先计算出差分数组,然后对它进行排序。对每一个询问,先二分出差分数组上最小的大于(r-l)的位置(p),答案就是(sum-c[p~n]+(r-l)*(n-p))

    (sum)表示起点到终点的距离,(c[p~n])表示差分数组位置(p)到位置(n)的元素和,这一步可以用前缀和(O(1))得到。

    时间复杂度(O(nlogn))

    (E.Pavel and Triangles)

    给出一个数组(a)(a_i)表示长度为(2_i)的火柴数量。询问这些火柴最多能拼成几个三角形。

    (Solution)

    首先根据幂次的性质,三角形只可能是等边或等腰的。

    一组样例:(5,10),可以得出优先组等腰三角形比等边更优的结论。

    所以就贪心的先组等腰,再组等边即可。

    时间复杂度(O(n))

  • 相关阅读:
    751时尚公开课(三)宋杰林:时尚大跃进_豆瓣
    第九课堂-经验与技能分享交易网站
    751D·PARK北京时尚设计广场_百度百科
    2014马上有乐趣 每周六免费服装缝纫体验课_豆瓣
    设计工作室寻求合作
    【基础穿搭法】关于穿衣显高和好看的三个小技巧。(请深爱)
    给快播指一条生路:转型会员付费吧
    美华美依 | 创业谱
    服装配饰_MAVIN MARVY 高级服装定制_西服定制_衬衫定制_西装定制
    探索者系列_百度百科
  • 原文地址:https://www.cnblogs.com/zhanglichen/p/14221279.html
Copyright © 2020-2023  润新知