• CF做题记录(二)


    Codeforces Round #585 (Div. 2)

    D. Ticket Game

    Description

    给定一个长度为(n)的数字串((n)为偶数),其中有一些位置的值被删除了用(?)表示,有两个人要在这个上面玩一个游戏。这两个人会轮流把串中的问号替换成一个数字(in [0, 9]),如果最后前一半所有数位的和等于后一半所有数位的和,那么后手赢,否则先手赢。现在给定这个带(?)的数字串,你需要求出谁最后会赢

    (2 leq n leq 2 imes 10^5)

    Solution

    我们可以先考虑只有一边有(?)的情况,设(?)的数量为(C)((C)为偶数),有(?)的那边比另一边的权值和少(d)

    • (Case_1​),如果(d = frac{C}{2} imes 9​),先手放(x​),后手就放(9-x​),后手赢
    • (Case_2),如果(d > frac{C}{2} imes 9),先手就一直放(0),不论后手怎么放,(d)总是大于(0),先手赢
    • (Case_3),如果(d < frac{C}{2} imes 9),先手就一直放(9),不论后手怎么放,(d)最后会小于(0),先手赢

    现在我们再考虑一下两边都有括号的情况,我们假设左边的(?)较多,左边的权值和比右边的少(d​),括号数量的差为(C​)

    • 如果(d = frac{C}{2} imes 9​),那么不论先手怎么放,后手就可以对称的去放,然后转化为(Case_1​)
    • 如果(d > frac{C}{2} imes 9),先手就可以在右边放一个(9),以此来转换先后手,然后再按照对手的操作对称去放。最后只有左边有奇数个(?)的时候,(d > frac{C}{2} imes 9 + 9)。等对手放完之后,就转化为了(Case_2)
    • 如果(d < frac{C}{2} imes 9),先手就可以在右边放一个(0),以此来转换先后手,然后再按照对手的操作对称去放。最后只有左边有奇数个(?)的时候,(d < frac{C}{2} imes 9)。等对手放完之后,就转化为了(Case_3)

    所以我们就只需要知道(C, d),就可以确定胜负了

    (Solution)思路来源:mohamedeltair

    E. Marbles

    Description

    给定一个长度为(n)的数列(a_i),你可以花费(1)的代价交换相邻的两个元素。现在你要使得每种权值的下标连续,问最小需要多少花费

    (2 leq n leq 4 imes 10^5, 1 leq a_i leq 20)

    Solution

    我们可以先处理出任意一种权值考虑对于任意一个其它权值的集合,如果要把所有这种权值的数都移到最左边需要的代价。然后我们就可以设(dp[s])表示把(s)集合中的权值都处理完后(移动到最左边)所需要的最少代价,然后我们就每次枚举一种没有处理的权值转移就可以了

    code

    F. Radio Stations

    Description

    (p)个信号站,每一个信号站只有在总站发出的功率在([l_i, r_i])时才能正常工作,现在有(n)个形如(x_i)号信号站和(y_i)至少要有一个正常工作的限制,有(m)个形如(x_i)号信号站和(y_i)不能同时正常工作的限制

    总站能发出的功率(f)的范围是(in [1, M]),你现在需要确定总站发出的功率以及哪些信号站工作,使其满足给定的所有限制

    (2 leq n, p, M, m leq 4 imes 10^5​)

    Solution

    我们可以发现如果没有功率的限制,那就是一道(2-SAT)的模板题,现在我们考虑怎么解决功率的限制

    我们可以考虑对于每一种功率都建一种变量,第(i)个点表示(f geq i),其逆否命题表示(f < i)。我们对于(f geq i)(f geq i - 1)连边,因为如果(f)满足前者,显然就会满足后者。同理,我们对于(f < i)(f < i + 1)连边。然后我们可以把信号站对于功率的限制转化为下面两个限制:(f geq l_i)和不选(i)至少有一个成立,(f < r_i + 1)和不选(i)至少有(1)个成立。然后就直接跑(2-SAT),随便跑出一组解就可以了

    code

    Summary

    这场也只能算是打得一般,(E)题就是一道思博题,还想了半个多小时...

    以后打的时候一定要注意做题速度,因为(Div2)有很多手速场。比如说这场,从第(4)名到差不多(200)名都是(A)(5)题,就是看谁的手速快

  • 相关阅读:
    创建struct类型的数组
    simulate windows touch input
    Could not load file using Ranorex runtime : General Questions
    UIAutomator 编译
    w3cmark前端精彩博文周报 10.27-11.2
    w3cmark前端精彩博文周报 10.20-10.27
    w3cmark前端精彩博文周报 10.13-10.19
    sublime自定义snippet代码片段
    Iconfont在移动端遇到问题的探讨
    一个小效果引出的兼容性探讨
  • 原文地址:https://www.cnblogs.com/xunzhen/p/11533480.html
Copyright © 2020-2023  润新知