Codeforces Round #669 (Div. 2)/Codeforces1407 ABCD
A. Ahahahahahahahaha
通过作者半个小时的观察:全零和全一必定有一个是符合要求的答案,因为0的个数和1的个数至少有一个大于等于\(\frac{n}{2}\)。
B. Big Vova
贪心。
将剩余可用的数字用一个集合装起来,然后从小到大枚举下标\(i\),每次枚举可用的数字,保存使前缀GCD最大的那个数字,这个数字就是\(b_i\)。
C. Chocolate Bunny
通过观察可得:一次? i j和一次? j i可以确定\(p_i\)和\(p_j\)中的较小值及其下标。
证明:假设\(p_i > p_j\),那么\(p_i \% p_j < p_j\),\(p_j \% p_i = p_j\),所以两个返回值中较大的就是\(p_i\)和\(p_j\)中较小的那一个,即\(p_j\),并且可以知道较小值的下标为\(j\),同时较大值的下标也确定了为\(i\)。反之同理。
然后就可以记录较大值的下标\(p\),初始值为\(1\),然后从下标为\(2\)的位置开始遍历数组,每次用两个操作确定一个位置上的值,更新较大值的下表。
这样,用\(2(n-1)\)次操作可以确定\(1\)至\(n-1\)的位置,且此时较大值的下标就是\(n\)的下标。
D. Discrete Centrifugal Jumps
单调栈优化DP。
现在有一个单调栈\(up\),栈中元素单调上升,然后有一个序列\(h\),遍历这个序列,不断尝试将当前元素加入单调栈。
现在要新加进来一个元素:
- 若元素的值大于栈顶对应元素,则直接加入。
- 反之,就将栈顶出栈,重复直到元素的值大于栈顶对应元素。
可以发现,将栈顶出栈后,若栈顶元素大于当前枚举到的元素,则新的栈顶元素到当前枚举到的元素之间的所有元素都大于两者,即新的栈顶对应元素到当前枚举到的元素的跳跃是一个满足条件3的跳跃。
同理可以维护一个栈中元素单调下降的单调栈\(down\)。
然后\(dp_i\)就只可能从\(dp_{i-1}\)转移的来,或者是从\(up\)中的元素转移得来,或者是从\(down\)中的元素转移得来。
Codeforces Round #669 (Div. 2)/Codeforces1407 ABCD的更多相关文章
- Codeforces Round #669 (Div. 2)A-C题解
A. Ahahahahahahahaha 题目:http://codeforces.com/contest/1407/problem/A 题解:最多进行n/2的操作次数,我们统计这n个数中1的个数,是 ...
- Codeforces Round #682 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1438 A. Specific Tastes of Andre 题意 构造一个任意连续子数组元素之和为子数组长度倍数的数组. ...
- Codeforces Round #678 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1436 A. Reorder 题解 模拟一下这个二重循环发现每个位置数最终都只加了一次. 代码 #include <bi ...
- Codeforces Round #676 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1421 A. XORwice 题意 给出两个正整数 \(a.b\),计算 \((a \oplus x) + (b \oplus ...
- Codeforces Round #675 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1422 A. Fence 题意 给出三条边 $a,b,c$,构造第四条边使得四者可以围成一个四边形. 题解 $d = max( ...
- Codeforces Round #668 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1405 A. Permutation Forgery 题意 给出一个大小为 $n$ 的排列 $p$,定义 \begin{equ ...
- Codeforces Round #732 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1546 A. AquaMoon and Two Arrays 题意 给出两个大小为 \(n\) 的数组 \(a, b\) ,每 ...
- 【解题报告】Codeforces Round #301 (Div. 2) 之ABCD
A. Combination Lock 拨密码..最少次数..密码最多有1000位. 用字符串存起来,然后每位大的减小的和小的+10减大的,再取较小值加起来就可以了... #include<st ...
- Codeforces Round #453 ( Div. 2) Editorial ABCD
A. Visiting a Friend time limit per test 1 second memory limit per test 256 megabytes input standard ...
随机推荐
- salesforce零基础学习(九十九)Git 在salesforce项目中的应用(vs code篇)
本篇参考: https://code.visualstudio.com/docs/editor/versioncontrol https://git-scm.com/doc https://git-s ...
- Caused by: org.postgresql.util.PSQLException: 错误: 语法错误 在 "desc" 、语法错误 在 "from" 附近
此错误一般是由于postgres的数据库表字段名定义与关键字重名所致: 如下,创建的数据库表包含名称为“desc”的字段与倒叙查询的desc关键字冲突会导致Caused by: org.postgre ...
- 存储系列之 从ext2到ext3、ext4 的变化与区别
引言:ext3 和 ext4 对 ext2 进行了增强,但是其核心设计并没有发生变化.所以建议先查看上上篇的<存储系列之 Linux ext2 概述 >,有了ext2的基础,看这篇就是so ...
- Android CC框架中,新建组件无法显示布局问题
出错: 当在创建新的组件时,跳转到新组件成功,但是无法正确显示布局,即获取到布局文件的控件等. 原因: 当在创建新的组件时,默认生成MainActivity以及其布局activity_main.每个组 ...
- myBatis源码解析-配置文件解析(6)
前言 本来打算此次写一篇关于SqlSession的解析,但发现SqlSession涉及的知识太多.所以先结合mybatis配置文件(我们项目中常写的如mybatisConfig.xml),来分析下my ...
- 微服务技术栈:API网关中心,落地实现方案
本文源码:GitHub·点这里 || GitEE·点这里 一.服务网关简介 1.外观模式 客户端与各个业务子系统的通信必须通过一个统一的外观对象进行,外观模式提供一个高层次的接口,使得子系统更易于使用 ...
- Url跳转漏洞常见
Url跳转漏洞常见出现点: 1.用户登录.统一身份认证处,认证完后会跳转. 2.用户分享.收藏内容过后,会跳转. 3.跨站点认证.授权后,会跳转. 4.站内点击其它网址链接时,会跳转. Url跳转漏洞 ...
- 5.SSH 免密码登陆
SSH 免密码登陆 serverA 机器上 userA 用户,想要免密钥登陆到serverB机器上 1.集群中的所有机器 安装ssh 服务端sudo apt-get updatesudo apt-ge ...
- Invalid credentials for 'https://repo.magento.com/packages.json'
Use your public key as username and private key as password from your magento connect account You ca ...
- SPSSAU数据分析思维培养系列3:分析思路篇
本文章为SPSSAU数据分析思维培养的第3期文章. 上文讲解如何选择正确的分析方法,除了有正确的分析方法外,还需要把分析方法进行灵活运用.拿到一份数据,应该如何进行分析,总共有几个步骤,第一步第二步应 ...