• ZR普转提2


    ZR普转提2

    A

    谢谢刁神教我A题

    刚开始读错题了,以为是一个不可做的数位DP,然后就暴力滚粗

    直到问了问刁神,发现自己题意是错的

    然后成了比较简单的题目

    直接暴力枚举每一位填什么,剩下的位数的数字都要相同

    枚举完之后暴力check,除以去掉点缀0的不合法情况,以及

    1e16有17位数字

    代码就不放了

    B

    果然听别人的思路再考一遍还是不会

    有点类似于AB班的那一道括号匹配的题目

    我们想(A,B,C)出现的次数相同

    也就是把相同的一段扣去

    A,B,C出现次数的差是不变的

    这就启示我们去维护(A-B,B-C)的值

    如果当前(A-B,B-C)与前面的一个相同,那么

    这两个之间的串是合法的

    我们就开一个map维护一下即可

    C

    首先,要知道一个性质,被(11)整除的数的奇数位之和减去偶数位之和是(11)的倍数

    我们接着发现,不可能存在两个(0)相邻的情况

    因为

    [ecause 99x equiv 0 pmod{11}\ herefore 100x - x equiv 0 pmod{11}\ herefore xequiv 100x pmod{11} ]

    所以发现,在模100的意义下,(x)和100(x)没有区别,所以不可能存在两个(0)相邻

    我们就设(f_{i,j,k})表示前(i)个数,选了(j)个数当奇数,奇数减去偶数在模意义下的差为(x)能否可行

    转移就转移到

    (f_{i + 1,j,(k - a_{i + 1} + 11 ) \% 11})(f_{i + 1,j,(k + a_{i + 1}) \% 11})即可

    D

    一道贪心题

    首先能够发现,魔法肯定是先用比较优

    想一下

    当怪的数量大于二时一定使用AOE比较赚,因为你虽然可能使用重击然后少吃一点伤害,但是会导致多大一轮,多打一轮的代价至少是1,所以不赚

    如果只剩(2)个怪就使用重击

    如果(1)滴血就AOE

    然后统计剩下的贡献就好了

  • 相关阅读:
    python学习的第六天数据类型及内置方法part2
    作业5
    Python学习第五天基本数据类型及内部方法part1
    周作业
    作业
    python学习第四天控制流程if、while、for
    作业
    python学习第三天基本数据类型、格式化输入输出、运算符。流程控制
    从排序数组中删除重复项
    D3.js 比例尺
  • 原文地址:https://www.cnblogs.com/wyxdrqc/p/11532441.html
Copyright © 2020-2023  润新知