• [学习笔记]day3-CF464-Div2


    本来是在双指针的那篇blog里看见这场的E题然后写了,后面连着把A~D也写了。准备写博客的时候发现E好像和双指针关系不是那么大,就另外开一篇来记录一下部分题解。

    A-Love Triangle


    题意:(n)个人和他们喜欢的人的编号(f_i),问是否存在三角恋。

    本场签到,判断是否存在(f[f[f[i]]]=i)即可。

    $ $

    B-Hamster Farm


    (学到新单词hamster仓鼠√)

    题意:(n)只仓鼠,以及(k)种类型的用来装仓鼠的盒子,第(i)种盒子能装(a_i)只仓鼠,需要选择购买一种类型的盒子(个数不限)来装仓鼠,每个盒子必须装满,希望能装尽可能多的仓鼠,问购买哪个盒子以及要买几个。

    也很签到,选择t=n/a[i]*a[i]最大的那个盒子即可

    $ $

    C-Convenient For Everybody


    题意:(n)个时区,时间从1开始编号,如果第一个时区的时间是1,那么第(i)个时区的时间就是(i)。现在有个平台想要选个时间举办比赛,每个时区可能参加比赛的人有(a_i)个,该时区的人参加比赛当且仅当比赛开始时间在((s,f])内,现在希望选一个时间让参加比赛的人最多。输出1号时区对应的时间。

    好像也很签到(x)。(s,f)对所有时区都是一样的,破环成链把(a[])翻倍,对应的参加比赛的就是一个长度为(f-s)的区间,找到和最大的区间。需要注意的大概是时间的转换。

    $ $

    D-Love Rescue


    题意:两个长度相同的字符串(s,t),你希望把他们变得一样。你可以购买一个咒语((c_1,c_2))使得(c_1)(c_2)两个字母可以互换,购买一个咒语之后就可以使用任意多次。问最少需要购买多少咒语,以及输出任意一组方案。

    可以互换这个东西就很图论(因为容易想到(a o b o c)这种东西,如果已经有((a,b),(b,c))那么就没有必要再来个((a,c))了)。于是把所有需要转换的字母之间连一条边,对于(n)个点的连通块只要(n-1)条边,而对应的方案则是dfs跑出来的树的所有边。

    $ $

    E-Maximize!


    题意:你需要维护一个多重集(S),有两个操作:1.加入一个新的元素(x),其中(x)不小于(S)中的所有元素。2.找到一个(S)的子集(s)使得(max(s)-mean(s))最大,mean(s)指s的均值。(Qleq 5 imes 10^5)

    具体证明过程可以看官方的题解:https://codeforces.com/blog/entry/57892

    这里我只记录一下自己思考这题的过程。

    因为是往一个集合里加东西,以及询问一个东西,像增量法那样,我们想想能不能从(S={a_1,dots,a_n})对应的答案集合(s)推出(Scup B)的答案。

    更具体地,考虑(B)是不是一定在新的答案集合里:设(s={b_1,b_2,dots,b_k}(kgeq 2)),现在新加入的(B)一定有(Bgeq b_k),相等的情况没什么好讨论的,直接当(B>b_k),那么记把(b_k)换成(B)的集合(s')对应的要最大化的式子是(M')(s)对应的是(M),则(M'-M=B-b_k-frac{1}{k}(B-b_k)=(B-b_k)frac{k-1}{k}>0),于是说明了,至少最大元素一定在答案集合内。

    (中间我还尝试考虑了换其他元素以及添加的情况,不过从最后的结果看来没什么必要,这里就不写啦)

    接着我们继续想,既然最大值确定了,那(max-mean)(max)其实是定好的,那我们只要让(mean)尽量小就行了,这个是很好确定的:从小到大往集合里加元素,只要当前的(a_i)比当前的平均值要小,就加进去让它拉低平均值。

    这样暴力做复杂度是(O(Q^2))的,不过注意到:每次更新最大值的一步只会把均值拉大,这样子原答案集合(s)里所有小的元素一定是可以继续留在新的(s')里的,只有可能出现另外添加一些新元素来拉低平均值。于是就可以(O(Q))地解决这题啦,代码还很短(三十行不到)。

  • 相关阅读:
    JQuery有几种选择器?
    Java有哪些基本数据类型
    您认为做好测试用例设计工作的关键是什么?
    final关键字
    目前主要的测试用例设计方法是什么?
    举例说明同步和异步。
    maven配置多个镜像
    参数Parameters、变量Variables
    jsp文件导包
    动态横切
  • 原文地址:https://www.cnblogs.com/yoshinow2001/p/14414075.html
Copyright © 2020-2023  润新知