ARC058(2020.7.4)

A

从高到低依次填入能填的最小值即可。

B

首先可以发现这个区间实际上只有横着的一条边有用,那么我们可以在边界上枚举中转点使得不经过非法区域即可。

C

挺神的一道题。首先我们会发现如果直接算出合法序列非常不好做,因为可能一个合法序列中可能有多个满足条件的句子,那么很难设计一种状态不会记重,那么我们考虑容斥,算出不合法的序列。我们发现我们需要关注的实际上是原序列中的一段子串,并且需要判断该子串是否能能形成满足条件的句子,事实上这里的子串长度不会超过 \(X + Y + Z \le 17\) 于是我们可以考虑 \(dp\),令 \(dp_{i, j, k, \cdots}\) 为到第 \(i\) 为位置,最后 \(17\) 位分别为 \(j, k, \cdots\) 的总共不合法序列,首先与处理一下每个子串是否合法就可以做到 \(O(n 10 ^ {X + Y + Z})\)。现在我们考虑这样一个表示法,比如我们将 \(2\) 表示成 \(10\),将 \(4\) 表示成 \(1000\) 即将 \(x\) 表示成 \(1000\cdots\) 后面 \(x - 1\) 个 \(0\) 的形式,那么两个数加起来比如 \(2 + 4 = 101000\) 倒数第 \(6\) 位就变成了 \(1\),那么对于任意一个二进制串如果他在倒数 \(X + Y + Z, Y + Z, Z\) 的位置上为 \(1\) 那么这个子串就一定是一个满足条件的句子。换种说法,对于一个二进制串 \(S\),和答案串即只有倒数 \(X + Y + Z, Y + Z, Z\) 的位置上为 \(1\) 的串 \(Ans\) 满足 \(S \& Ans = Ans\) 那么 \(S\) 就是一个满足条件的子串。那么现在我们就可以将 \(dp\) 的最后暴力枚举的位置改成这样的状压的形式,再去看我们关心的最后 \(X + Y + Z\) 个位置,实际上就是二进制串下的最后 \(X + Y + Z\) 个位置,那么我们只需要记录最后 \(X + Y + Z\) 的答案即可,于是复杂度变成了 \(O(n 2 ^ {X + Y + Z})\).

D

字符串,咕咕咕....

Atcoder ARC-058的更多相关文章

  1. 【题解】Atcoder ARC#90 F-Number of Digits

    Atcoder刷不动的每日一题... 首先注意到一个事实:随着 \(l, r\) 的增大,\(f(r) - f(l)\) 会越来越小.考虑暴力处理出小数据的情况,我们可以发现对于左端点 \(f(l) ...

  2. AtCoder ARC 076E - Connected?

    传送门:http://arc076.contest.atcoder.jp/tasks/arc076_c 平面上有一个R×C的网格,格点上可能写有数字1~N,每个数字出现两次.现在用一条曲线将一对相同的 ...

  3. AtCoder ARC 076D - Built?

    传送门:http://arc076.contest.atcoder.jp/tasks/arc076_b 本题是一个图论问题——Manhattan距离最小生成树(MST). 在一个平面网格上有n个格点, ...

  4. AtCoder ARC 082E - ConvexScore

    传送门:http://arc082.contest.atcoder.jp/tasks/arc082_c 本题是一个平面几何问题. 在平面直角坐标系中有一个n元点集U={Ai(xi,yi)|1≤i≤n} ...

  5. Atcoder ARC 082C/D

    C - Together 传送门:http://arc082.contest.atcoder.jp/tasks/arc082_a 本题是一个数学问题. 有一个长度为n的自然数列a[1..n],对于每一 ...

  6. 【题解】 AtCoder ARC 076 F - Exhausted? (霍尔定理+线段树)

    题面 题目大意: 给你\(m\)张椅子,排成一行,告诉你\(n\)个人,每个人可以坐的座位为\([1,l]\bigcup[r,m]\),为了让所有人坐下,问至少还要加多少张椅子. Solution: ...

  7. 【题解】Atcoder ARC#96 F-Sweet Alchemy

    首先,我们发现每一个节点所选择的次数不好直接算,因为要求一个节点被选择的次数大于等于父亲被选择的次数,且又要小于等于父亲被选择的次数 \(+D\).既然如此,考虑一棵差分的树,规定每一个节点被选择的次 ...

  8. AtCoder ARC 090 E / AtCoder 3883: Avoiding Collision

    题目传送门:ARC090E. 题意简述: 给定一张有 \(N\) 个点 \(M\) 条边的无向图.每条边有相应的边权,边权是正整数. 小 A 要从结点 \(S\) 走到结点 \(T\) ,而小 B 则 ...

  9. ARC 058

    所以为啥要写来着........... 链接 T1 直接枚举大于等于$n$的所有数,暴力分解判断即可 复杂度$O(10n \log n)$ #include <cstdio> #inclu ...

  10. 【题解】Atcoder ARC#67 F-Yakiniku Restaurants

    觉得我的解法好简单,好优美啊QAQ 首先想想暴力怎么办.暴力的话,我们就枚举左右端点,然后显然每张购物券都取最大的值.这样的复杂度是 \(O(n ^{2} m)\) 的.但是这样明显能够感觉到我们重复 ...

随机推荐

  1. HITCON 2019 Lost Modular again writeup

    HITCON 2019 Lost Modular again writeup 算是基础题,有很多之前题的影子,做不出来纯属菜. 题目 加密脚本 from Crypto.Util.number impo ...

  2. 设置div背景透明的两种方法

    实现div背景透明的两种方法 1.使用opacity属性 background-color:#000; opacity: 0.5; 这样做可以设置div内部所以区域的透明度,但是也会影响里面的文字,效 ...

  3. Adversarial Training with Rectified Rejection

    目录 概 主要内容 rejection 实际使用 代码 Pang T., Zhang H., He D., Dong Y., Su H., Chen W., Zhu J., Liu T. Advers ...

  4. 初识JavaScript变量

    一.什么是变量? 变量即变化的量,在JS中变量是松散类型的,可以用来保存任何数据类型.把数据取个名字,放在内存中,就称之为变量! 通过变量名可以取到对应数据 二.为什么使用变量? 程序:代码的集合,一 ...

  5. uniapp中使用animate.css4.1.1动画库在小程序中不生效解决办法

    找到源码animate.css修改以下代码 :root { --animate-duration: 1s; --animate-delay: 1s; --animate-repeat: 1; } // ...

  6. k8s污点

    https://www.iyunw.cn/archives/k8s-wu-dian-shi-yong-fang-fa-shi-li/ kubectl taint nodes node1 key=val ...

  7. Tool_Fiddler安装和使用

    一.简介 Fiddler(中文名称:小提琴)是一个HTTP的调试代理,以代理服务器的方式,监听系统的Http网络数据流动, Fiddler可以也可以让你检查所有的HTTP通讯,设置断点,以及Fiddl ...

  8. Python 国内镜像源

    让 python pip 使用国内镜像源 国内镜像源: 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.co ...

  9. 【Java】多态性

    文章目录 多态性 向下转型 多态性 可以理解为一个事物的多种形态. 对象的多态性:父类的引用指向子类的对象.只适用于方法,不适用于属性(编译和运行都看左边) 总结:对于对象的多态性,编译,看左边:运行 ...

  10. web刷题记录 极客大挑战2019Knife upload buy a flag

    极客2019Knife webshell就是以asp.php.jsp或者cgi等网页文件形式存在的一种代码执行环境,主要用于网站管理.服务器管理.权限管理等操作.使用方法简单,只需上传一个代码文件,通 ...