A. Yet Another Two Integers Problem

最优的操作中,\(k = \min(10, abs(a - b))\),记\(d=abs(a-b)\),最终的答案为\(ans = \lfloor \frac{d}{10} \rfloor + [10|d]\)。

B. Minimum Product

猜结论:最优的情况必定是先把可用次数尽可能地用在其中一个数,然后再将剩余操作尽可能地用在另外一个数上。

分别算出先a后b和先b后a的答案,然后取最小值即可。

C. Yet Another Array Restoration

根据题目描述得出:数组\(a\)是等差数列。

枚举\(x\)所在的位置和\(y\)所在的位置,然后就可以得出公差,首项和末项。如果首项大于零且末项大于等于\(y\),那么目前这个数列就是合法的。然后再贪心地取末项最小的就可以了。

D. Decrease the Sum of Digits

通过观察可以得到一个结论,就是一次操作必定要使当前位产生进位才会使各个位上数字的和减少,否则各个位上数字的和必定会增加。

然后就从低位到高位枚举,若当前各个位置上的和大于\(s\),就将当前位加到产生进位,然后枚举下一位,否则就可以结束枚举。

E. Two Platforms

通过观察可以发现:

  • \(y_i\)在这题中并不重要,可以将题目从二维转化为已维
  • 两块板子相离的结果必定优于两块板子相交或相切的结果
  • 板子的起点必定是点集中的某一个点

将点按\(x_i\)排序之后,若已知板子的覆盖范围,就可以用\(O(\log n)\)的时间求出板子覆盖了多少球。

枚举点集中的点,可以知道若板子的起点为\(x_i\),板子可以覆盖多少个点。

加上后缀最大值的处理,就可以知道若板子的起点大于等于\(x_i\),板子最多可以覆盖多少个点。

最后,只需要枚举第一块板子的起点,就可以知道第一块板子覆盖了多少个点,然后根据观察发现的第二个性质和后缀最大值就可以得到第二块板子最多覆盖多少个点,贪心地取最大值即可。

F. Subsequences of Length Two

一道比较有意思的dp

记\(dp_{i,j,c}\)表示对于\(s[0...i-1]\),使用\(j\)次修改操作,前\(i\)个字符里包含\(c\)个\(t_0\)时的答案。

每次要么把\(s_i\)变为\(t0\),要么把\(s_i\)变为\(t_1\),要么不操作

然后分析一下就可以得到转移方程

Codeforces1409 题解(A-F)的更多相关文章

  1. [题解向] CF#536Div2の题解 E&F

    \(0x01~~Preface\) \(emmm\)这次CF本身打的很顺畅,但是居然unrated了--咕咕咕咕 这是头一次CF有比赛我全部题目都做了--可喜可贺可喜可贺233 简单总结一下前面四道题 ...

  2. AtCoder Regular Contest 075 2017年6月4日 C、D、E题解

    http://arc075.contest.atcoder.jp/assignments 昨晚做的atcoder,今天写个简单题解. F题不会做,800point的,就跪了,要等zk大佬来做.zk能做 ...

  3. [题解] [SDOI2015] 序列统计

    题面 题解 设 \(f[i][j]\) 代表长度为 \(i\) 的序列, 乘积模 \(m\) 为 \(j\) 的序列有多少个 转移方程如下 \[ f[i + j][C] = \sum_{A*B\equ ...

  4. 并不对劲的CF1245E&F:Cleaning Ladders

    CF1245 E. Hyakugoku and Ladders 题目大意 有一个10 \(\times\) 10的网格,你要按这样的路径行走: 网格中有一些单向传送门,每个传送门连接的两个格子在同一列 ...

  5. ABC130 Task F. Minimum Bounding Box

    题目链接 题解 最小的 bounding box 一定可以在四个时间段的最左端点和最右端点之间取到. 举例言之,设四个时间段分别是 (2, 5), (7, 10), (4, 9), ( 10, 20) ...

  6. [HG]小G坐电梯 题解

    C 小G坐电梯 题目描述 小G来到了著名的某大厦.大厦一共有n层,初始的时候小G在第 A 层. 小G特别想去B层小 M 的办公室看一看,然而因为安保原因,B层已经被封锁无法进入. 但是小G既然来了,就 ...

  7. AtCoder Beginner Contest 221 A~E题解

    目录 A - Seismic magnitude scales B - typo C - Select Mul D - Online games E - LEQ 发挥比较好的一场,就来搓篇题解. F ...

  8. luogu[1279]字串距离

    题目描述 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为”abcbcd”,则字符串“abcb□cd”,“□a□bcbcd□”和“abcb□cd□”都是X ...

  9. [HDU3709]Balanced Number

    [HDU3709]Balanced Number 试题描述 A balanced number is a non-negative integer that can be balanced if a ...

随机推荐

  1. U盘数据泄露,用不到30行的Python代码就能盗走

    今天跟大家分享下一段简单的代码,希望能给经常用U盘的人警戒,提高信息安全意识. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做 ...

  2. 可读流 - nodejs stream总结

    可读流 包含的事件:data,readable,end,close ,error,pause,resume 常用方法:resume,read,pipe,pause 客户端的 HTTP 响应 服务器的 ...

  3. JS 节点笔记

    h5新增自定义属性     为了保存并使用数据,有一些数据不必要保存到数据库中:     data开头作为自定义属性并赋值     兼容性获取element.getAttribute("da ...

  4. 使用免费证书安装 ipa 到真机

    使用免费证书安装 ipa 密码设置 进入 AppleId 官网 登录个人账号 登录进去之后, 找到 Security, 点击 Generate Password... 锁边输入几个字符, 再点击 Cr ...

  5. GitLab Admin Area 500 Error

    GitLab Admin Area 500 Error GitLab Admin Area Settings 菜单全部报错 500 解决方法 执行: gitlab-rake cache:clear # ...

  6. 《SOD框架企业级应用数据架构实战》新书简介和预定

    SOD框架“企业级”应用数据架构实战 ----致敬平凡的程序员! 历时两年写成, 两大MVP: 张善友. 刘冰(宇内流云) JAVA技术专家 申毅 联合推荐! 10年磨一剑:汇聚作者超过10年的架构工 ...

  7. Prometheus Operator 教程:根据服务维度对 Prometheus 分片

    原文链接:https://fuckcloudnative.io/posts/aggregate-metrics-user-prometheus-operator/ Promtheus 本身只支持单机部 ...

  8. Vue 过滤器 Filter传递参数

    给日期类型过滤器设置不同格式 dayjs是一款轻量级的日期操作库 https://day.js.org/en import Vue from 'vue' import dayjs from 'dayj ...

  9. Python多进程队列间传递对象

    前言 在python 需要在队列中传递对象, 会出现进程不能正常退出的情况. 其原因是因为 在父进程 向子进程传入的Queue对象不对, Queue对象正常是子进程之间的信息传递, 而当我在父进程 创 ...

  10. Android 开发学习进程0.17 Android资源文件selector textview显示两种不同字体

    selector 是安卓资源文件的一种,它可以使按钮等实现不同状态下的不同UI,不用在代码中实现,而使用方式有两种,一种在color文件下 创建.xml可以使按钮等字体在不同状态下的变化,其二是在dr ...