zoukankan      html  css  js  c++  java
  • Codeforces Global Round 11/Codeforces1427 ABCDE

    AC代码

    A. Avoiding Zero

    (sum_i = sum_{j=1}^i a_i)。易得(sum_n)为定值,故若(sum_n = 0),则无解。

    (sum_n < 0),将(a)升序排序后作为(b),此时(sum_i)先降后升,最大值在(sum_1)处或(sum_n)处取到,这两个值都小于零,所以必定不会存在(sum_i = 0)的点。

    同理,若(sum_n > 0),此时将(a)降序排序后作为(b)

    B. Chess Cheater

    遍历字符串,统计胜场数,败场数和初始分数(score)

    特判(k = 0)和作弊后可以全胜的情况。

    若全败,则消耗一个(k)且加一分后转移到只有一个胜场的情况。

    若只有一个胜场,那么就只修改和胜场相邻的败场,每次修改固定加两分,即(score = socre + 2k)

    若胜场数大于等于二,那么对于有败场隔开的两个胜场,记中间有(x)场败场,则将这(x)场全都改为胜场后可以加(2x + 1)分。优先填(x)较小的败场。

    C. The Hard Work of Paparazzi

    早年涛爷出了道弹钢琴,和这题很像,就是空间范围是1*12。然后最近几天我自己想着出题,就想着把之前涛爷那道题给他扩展到二维,大概(r = 5),题目背景本来已经想好了用DOTA2暂停的时候打米波小游戏(就是打地鼠),现在看来已经不需要了。

    (dp_i)表示只考虑前(i)个点,并且在(i)处拍照的答案。

    (dp_i)可以从(dp_j)转移过来,其中(1 le j le i - 1)。如果(t_i - t_j ge 2r),那么必定可以从(j)点转移到(i);否则就需要判断曼哈顿距离是否小于等于(t_i - t_j)

    因为(t_i < t_{i+1}),所以至多枚举(2r)个需要判断曼哈顿距离的点,再往前的点就一个前缀最大值解决了。

    复杂度为(O(2rn)),足够优秀。

    D. Unshuffling a Deck

    想到构造方法后,就是简单模拟了。

    (n)为奇数的时候,先找到(n)的位置,然后通过至多一个操作让(c_n = n)

    然后找到(n - 1)的位置,通过一个操作让(c_1 = n, c_2 = n - 1)

    然后找到(n - 2)的位置,通过一个操作让(c_n = n, c_{n - 1} = n - 1, c_{n - 2} = n - 2)

    然后找到(n - 3)的位置,通过一个操作让(c_1 = n, c_2 = n - 1, c_3 = n - 2, c_4 = n - 3)

    以此类推,每次操作让一个数字移动到对应的位置,至多(n)次操作过后,(c_i = i)就会满足了。

    (n)为偶数的时候,上述方法会使(c_i = n - i + 1)。这个时候稍微改改,先将(1)移动到数组末尾,然后让前两个数为(1, 2),然后让后三个数为(3, 2, 1),以此类推。

    E. Xum

    zfc说是线性基,然而我不会线性基。

    看了官方题解,自己写了个括欧的解法。

    首先,如果可以构造出来一个和(x)互素的数字(y),这样子就可以根据裴蜀定理得到存在(a,b ge 0)(b)为偶数,使(ax - by = gcd(x, y) = 1)成立,并且(a)(b)的通解可以用扩展欧几里得算法得到。此时,(by)为偶数,有(ax oplus by = 1),故若得到了(ax)(by),就可以通过异或得到1。

    然后,(ax)其实可以看成(sum a_i 2^ix),其中(2^ix)可以通过加法得到,所以(ax)也可以通过加法得到。同理已有(y)的情况下也可以通过加法得到(by)

    现在就只需要构造出和(x)互素的(y)了。令(e)为满足(2^e le x)的最大自然数,因为(x)为奇数,所以((2^ex) & x = 2^e)(y = (2^ex) oplus x = (2^e + 1)x - 2 ^{e + 1})(x)互素。

  • 相关阅读:
    浅析PostgreSQL的 ON CONFLICT 和 upsert:不存在则插入/存在则更新、upsert 介绍、语法及示例
    常见工作场景解决方案开源库推荐:文件上传库
    [转]Go-micro 服务端、客户端简单示例
    micro 与go-micro的区别
    【转】一篇文章说清楚 TDengine 的 FQDN
    【转】LV扩容(lvextend)
    [AWS] Launch configuration vs Launch template
    AcWing 867. 分解质因数
    AcWing 866. 试除法判定质数
    AcWing 861. 二分图的最大匹配
  • 原文地址:https://www.cnblogs.com/zengzk/p/13796083.html
Copyright © 2011-2022 走看看