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\)相邻的情况

因为
\[
\because 99x \equiv 0 \pmod{11}\\
\therefore 100x - x \equiv 0 \pmod{11}\\
\therefore x\equiv 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

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

ZR普转提2的更多相关文章

  1. ZROI #364. 【2018普转提day18专题】嘤嘤嘤

    ZROI #364. [2018普转提day18专题]嘤嘤嘤 直接贴代码 具体见注释 #include<stdio.h> #include<cstring> #include& ...

  2. ZROI #365. 【2018普转提day18专题】嘤嘤嘤嘤

    ZROI #365. [2018普转提day18专题]嘤嘤嘤嘤 直接放代码 具体做法见注释 #include<stdio.h> #include<cstring> #inclu ...

  3. ZR9.8普转提

    ZR9.8普转提 A,B 打过的CF原题,不管了 C 确认过眼神,是我不会写的DP, 发现这个题目要求的过程类似与一个所有括号都不一样的括号匹配的过程 但是限制条件非常多,有点无从下手的感觉 我们设\ ...

  4. ZROI2018普转提day6t1

    传送门 分析 记录区间最大值,线段树上二分找比这个点大的最靠前位置即可 代码 #include<iostream> #include<cstdio> #include<c ...

  5. ZROI2018普转提day6t3

    传送门 分析 居然卡哈希数,万恶的出题人...... 感觉我这个方法似乎比较呆,我的代码成功成为了全网最慢的代码qwq 应该是可以直接哈希的 但由于我哈希学的不好又想练练线段树维护哈希,于是就写了个线 ...

  6. ZROI2018普转提day7t1

    传送门 分析 一道有意思的小题... 我们发现如果$(1,1)$为白色,则将其变为白色需要偶数次操作,而如果为黑色则需要奇数次操作 我们知道要让A赢需要奇数次操作,所以我们只需要判断$(1,1)$的颜 ...

  7. ZROI2018普转提day7t2

    传送门 分析 首先我们不难想到我们一定可以将每一个点分开算,然后看这个点被几个矩形包含 于是对于位置为$(i,j)$的点它被包含的次数为$i * (n-i+1) * j * (m-j+1)$ 这个式子 ...

  8. ZROI2018普转提day1t4

    传送门 分析 就是飞飞侠这道题...... 我们可以将这张图建成好几层,每一层可以向下一层的上下左右无代价移动,而对于每个点如果付b[i][j]的代价就可以走到比它高a[i][j]的层上.我们用这种方 ...

  9. ZROI2018普转提day1t1

    传送门 分析 我们先二分一下最终的平均值mid,然后让序列中的每一个数都减去这个mid,之后用新序列的前缀和建一棵线段树,枚举起点i,然后求出此时在i+L-1~i+R-1范围内的前缀和的最大值,用这个 ...

随机推荐

  1. jquery鼠标悬停突出显示

    在线演示 本地下载

  2. iOS viewDidLayoutSubviews,viewdidload

    由于种种原因,最近才开始真正在新项目中使用autolayout,使用过程中虽说是比较顺畅,但是也遇到了一些麻烦,比如: 我使用的XIB默认是4寸屏幕,我再XIB中增加一个viewA,宽度为320,约束 ...

  3. @codeforces - 715E@ Complete the Permutations

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定两个排列 p, q,他们中的有些位置被替换成了 0. 两个排 ...

  4. Minimum Depth of Binary Tree最短深度

    Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...

  5. python 异常层级

  6. Java注解初步了解 2016-07-24 22:20 240人阅读 评论(21) 收藏

    Java注解又称Java标注,是Java语言5.0版本开始支持加入源代码的特殊语法元数据. Java语言中的类.方法.变量.参数和包等都可以被标注.Java标注和Javadoc不同,标注有自反性.在编 ...

  7. css字体大小单位

    1:px: 这个应该是国内使用较多的单位,意思为像素.因此,其视觉的呈现效果是与分辨率相关的.例如在1024*768分辨率下看12px的字体就比960*640下看到的“小”,其实字体像素未改变,所以觉 ...

  8. hdu 1503 LCS输出路径【dp】

    hdu 1503 不知道最后怎么输出,因为公共部分只输出一次.有人说回溯输出,感觉好巧妙!其实就是下图,输出的就是那条灰色的路径,但是初始时边界一定要初始化一下,因为最第一列只能向上走,第一行只能向左 ...

  9. 模板—LCT

    #include<iostream> #include<cstring> #include<cstdio> #define LL long long using n ...

  10. Python中多线程与多进程的恩恩怨怨

    概念: 并发:当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运 ...