Codeforces Round 951 (Div. 2) 题解分享

2024-06-07 09:12

本文主要是介绍Codeforces Round 951 (Div. 2) 题解分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

A. Guess the Maximum

思路

贪心

毫无疑问的是,Alice会选择所有区间最大值的最小值-1,即min\sum - 1

关键是如何选取。我们注意到区间长度越大,这个区间的最大值是随着它不减的,所以如果Bob要让Alice选的最小的话,选择的区间长度一定是2。

因此我们从左往右遍历一遍区间长度为2的情况即可。

code

inline void solve() {int n; cin >> n;vector<int> a(n + 1);for (int i = 1; i <= n; i ++ ) cin >> a[i];int minv = 1e9;for (int i = 1; i < n; i ++ ) {minv = min(minv, max(a[i], a[i + 1]));}cout << minv - 1 << endl;return;
}

B. XOR Sequences

思路

Q:该怎么做?真的是打暴力么?

A:打暴力肯定是错误的,题目中给了一个神奇的条件,x != y,假设我们让a和b分别从i和j的位置开始相等,即满足a_{I} XOR x = b_{j} XOR y,当我们注意到这个条件的时候,自然而然的就会把x异或过去。

Q:我懂了,然后怎么做,感觉还是找不出来数量。

A:结合样例二,x XOR y = 1000,而答案为8。

Q:其实这样也能猜出来是2的(0的个数次)

A:后面3个零,也就是8。后面如果选的bj后面三位有1,这样往上加1的过程肯定是两个相等的情况一定是小于8的,换句话说,这个一卡着了最大长度。

code

inline void solve() {int a, b; cin >> a >> b;int x = a ^ b;cout << (x & (-x)) << endl;return;
}

 C. Earning on Bets

思路

题目大意是让你分配任意的钱,使得任意一处获奖得到的钱能够严格大于你花的钱的总数。

Q:首先猜一个lcm

A:然后用lcm实现刚好合适()

code

inline void solve() {ll n; cin >> n;vector<ll> a(n + 1);ll g = 1;for (int i = 1; i <= n; i ++ ) {cin >> a[i];g = lcm(g, a[i]);}ll sum = 0;for (int i = 1; i <= n; i ++ ) {sum += g / a[i];}if (sum >= g) cout << -1 << endl;else {for (int i = 1; i <= n; i ++ ) {cout << g / a[i] << ' ';}cout << endl;}return;
}

 

这篇关于Codeforces Round 951 (Div. 2) 题解分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1038752

相关文章

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4