• Codeforces Round #582 (Div. 3) 解题记录


    D

    • 题意: 给出一个序列(a),每个操作可以将(a_i := lfloorfrac{a_i}{2} floor),问最少几次操作获得(k)个相同的(a_i)
    • 思路: 将每个(a_i)都降为0,并在变化过程中加入到vector(相同大小,变化次数不同)中,这样每个数就会产生(log(n))个数,操作完后枚举每个vector,sort后求其前k项和(若不到k项则不计算),最小的即为答案

    E

    • 题意: 给两个长度为2的字符串s1,s2(只包含'a','b','c'),让你构造长度为(3n)的字符串,'a','b','c'均出现n次且子串里不能有s1,s2
    • 思路: 答案串必定是"abc"的一个排列重复n次或,按这个排列的顺序让'a','b','c'重复n次,枚举出所有的答案串再判断即可.

    F

    • 题意: 给出两个序列(p,q),让你构造出一个长度为n的字符串s,使得(s[p_i] le s[p_{i + 1}]),(s[q_i] le s[q_{i + 1}]),且最少出现k个不同的小写字母.
    • 思路: 我们把(le)看做是前驱关系,构造出有向图,跑tarjan,一个强联通分量必须为一个字母

    G

    • 题意: 给出一个带权树和一系列询问,问有多少对点,使得简单路径上的最大权值不超过w.
    • 思路: 用并查集维护每个点经过边不大于(w)所能到达的集合,从小到大排序边和询问,对每个询问,我们对小于该询问的边进行操作,如果边的两端(u,v)不在一个集合,对其进行合并,对答案的贡献为(inom{size[u]+size[v]}{2}-inom{size[u]}{2}-inom{size[v]}{2})(集合内的点,两两相互可达)
  • 相关阅读:
    2017第17周四当前工作中困境与挑战思考
    2017第17周三
    2017第17周二
    最小可行产品
    《穷查理宝典》中三条最重要的学习方法
    机场打车有感
    2017第15周五
    2017第15周四
    三条经济学原理帮你做出正确的选择
    Mac通过安装Go2Shell实现“在当前目录打开iTerm2”
  • 原文地址:https://www.cnblogs.com/xxrlz/p/11442986.html
Copyright © 2020-2023  润新知