Codeforces1409 题解(A-F)
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)的更多相关文章
- [题解向] CF#536Div2の题解 E&F
\(0x01~~Preface\) \(emmm\)这次CF本身打的很顺畅,但是居然unrated了--咕咕咕咕 这是头一次CF有比赛我全部题目都做了--可喜可贺可喜可贺233 简单总结一下前面四道题 ...
- AtCoder Regular Contest 075 2017年6月4日 C、D、E题解
http://arc075.contest.atcoder.jp/assignments 昨晚做的atcoder,今天写个简单题解. F题不会做,800point的,就跪了,要等zk大佬来做.zk能做 ...
- [题解] [SDOI2015] 序列统计
题面 题解 设 \(f[i][j]\) 代表长度为 \(i\) 的序列, 乘积模 \(m\) 为 \(j\) 的序列有多少个 转移方程如下 \[ f[i + j][C] = \sum_{A*B\equ ...
- 并不对劲的CF1245E&F:Cleaning Ladders
CF1245 E. Hyakugoku and Ladders 题目大意 有一个10 \(\times\) 10的网格,你要按这样的路径行走: 网格中有一些单向传送门,每个传送门连接的两个格子在同一列 ...
- ABC130 Task F. Minimum Bounding Box
题目链接 题解 最小的 bounding box 一定可以在四个时间段的最左端点和最右端点之间取到. 举例言之,设四个时间段分别是 (2, 5), (7, 10), (4, 9), ( 10, 20) ...
- [HG]小G坐电梯 题解
C 小G坐电梯 题目描述 小G来到了著名的某大厦.大厦一共有n层,初始的时候小G在第 A 层. 小G特别想去B层小 M 的办公室看一看,然而因为安保原因,B层已经被封锁无法进入. 但是小G既然来了,就 ...
- AtCoder Beginner Contest 221 A~E题解
目录 A - Seismic magnitude scales B - typo C - Select Mul D - Online games E - LEQ 发挥比较好的一场,就来搓篇题解. F ...
- luogu[1279]字串距离
题目描述 设有字符串X,我们称在X的头尾及中间插入任意多个空格后构成的新字符串为X的扩展串,如字符串X为”abcbcd”,则字符串“abcb□cd”,“□a□bcbcd□”和“abcb□cd□”都是X ...
- [HDU3709]Balanced Number
[HDU3709]Balanced Number 试题描述 A balanced number is a non-negative integer that can be balanced if a ...
随机推荐
- vue-cli脚手架的搭建
1.安装node.js 2.安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 3.安装vue-cli npm ...
- 039_go语言中的排序
代码演示: package main import "fmt" import "sort" func main() { strs := []string{&qu ...
- Python内置OS模块用法详解
大家好,从今天起早起Python将持续更新由小甜同学从初学者的角度学习Python的笔记,其特点就是全文大多由新手易理解的代码与注释及动态演示.刚入门的读者千万不要错过! 很多人学习python,不知 ...
- Java 程序员生产神器 IDEA 的常用快捷键、插件及设置
对于 Java 程序员来说,使用 IDEA 集成环境是最称手的.优点不多讲,用过的人都知道.IDEA 虽好,但为了充分利用 IDEA 的优势,我分享一下我常用快捷键.插件和设置. 常用快捷键 Ctrl ...
- ExtremeNet
- 2020-08-02:输入ping IP 后敲回车,发包前会发生什么?
福哥答案2020-08-02: 首先根据目的IP和路由表决定走哪个网卡,再根据网卡的子网掩码地址判断目的IP是否在子网内.如果不在则会通过arp缓存查询IP的网卡地址,不存在的话会通过广播询问目的IP ...
- 2020-07-21:简述redis主从同步的过程。
福哥答案2020-07-21: 1.从服务发送一个sync同步命令给主服务要求全量同步.2.主服务接收到从服务的sync同步命令时,会fork一个子进程后台执行bgsave命令(非阻塞)快照保存,生成 ...
- C#LeetCode刷题之#665-非递减数列( Non-decreasing Array)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3732 访问. 给定一个长度为 n 的整数数组,你的任务是判断在最 ...
- Java 创建、刷新Excel透视表/设置透视表行折叠、展开
透视表是依据已有数据源来创建的交互式表格,我们可在excel中创建透视表,也可编辑已有透视表.本文以创建透视表.刷新透视表以及设置透视表的行展开或折叠为例,介绍具体的操作方法. 所需工具:Free S ...
- VUE——添加组件模块(图表)
Vue是由一个个小模块组成的,模块可以让页面简介还可以复用: 1.不固定数据数量传到子组件 父组件: <chartVue v-for="(item, index) in chartLi ...