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;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/686493.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

再次修改了备忘录

Control <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>与妖为邻备忘录</title><!-- <…

人工智能会终结动物实验吗?

从动物爱好者到实验室技术人员&#xff0c;没有人喜欢让动物进行科学试验。 相反&#xff0c;这样做是为了帮助确保药物和其他物质最终对人类使用是安全的。 长期以来&#xff0c;研究人员一直在寻找非动物替代品。人工智能(AI)系统正在加速这项工作。 人工智能在这一领域的…

Redis学习(十二)Redis的三种删除策略

目录 一、背景二、Redis 的三种删除策略2.1 定时删除&#xff08;用CPU换内存空间&#xff09;2.2 定期删除2.3 惰性删除&#xff08;用内存换CPU性能&#xff09; 三、总结 一、背景 我们都知道 Redis 是一种内存数据&#xff0c;所有的数据均存储在内存中&#xff0c;可以通…

LabVIEW缝缺陷图像标注库

LabVIEW缝缺陷图像标注库 开发了一个基于LabVIEW平台构建的船舶焊缝缺陷图像标注库。该库旨在通过高效和简洁的方式处理和标注船舶焊缝缺陷图像&#xff0c;提高缺陷识别的准确性和效率&#xff0c;进而保障船舶的结构安全。 项目背景 在船舶制造过程中&#xff0c;焊接质量…

ActiveMQ 介绍、下载、安装和控制台

ActiveMQ 介绍 Apache ActiveMQ 是一款非常成熟且功能全面的开源消息中间件&#xff0c;由Apache软件基金会维护。它遵循 Java Message Service (JMS) 规范&#xff0c;这意味着它提供了一组标准的 API&#xff0c;允许 Java 应用程序以一种标准化的方式发送和接收消息。 以下…

什么是距离选通型水下三维激光扫描仪?(上)

最近听说了一种水下三维激光扫描仪——距离选通型激光扫描仪&#xff0c;有可能应用于近岸水下目标高分辨率成像。博主之前用过ULS-500水下激光扫描仪&#xff0c;并写了一篇博文观察级水下机器人使用系列之五三维激光扫描仪。ULS-500对水质和环境要求较高&#xff0c;一般应用…

【Java数据结构】详解LinkedList与链表(三)

&#x1f512;文章目录&#xff1a; 1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; 2.无头双向非循环链表的实现 2.1成员属性 2.2成员方法 display——打印链表 size——获取单链表长度 addFirst——头插 addLast——尾插 addIndex——在任…

.NET AI如何从0开始?

你是否在思考如何利用AI为您公司的产品增加智能方向的业务扩展&#xff1f; 或者你是否有思考过怎么去利用AI减少部分工作量&#xff1f; 如果你有类似于上面的问题&#xff0c;想要学习AI&#xff0c;并且您是一名.NET开发工程师&#xff0c;或您是一名弃暗投明的Java转.NET…

MySQL查询相邻两条记录的时间间隔

MySQL查询相邻两条记录的时间间隔。最近需要统计相邻两条记录的时间间隔&#xff0c;筛选出时间间隔大于2min的数据记录。因为是同一张表&#xff0c;又需要查询出相邻的数据&#xff0c;所以最开始想到使用子表来做&#xff0c;分别用t1、t2表示&#xff0c;但是实践后发现查询…

AXI Quad SPI IP核AXI4接口下的三种操作模式

当选择Enable Performance Mode选项时&#xff0c;AXI4接口包括在内。在该模式下&#xff0c;IP核可以在增强模式下操作&#xff08;未选择启用XIP模式&#xff09;或XIP模式&#xff08;选择启用XIP模式&#xff09;。在性能模式下&#xff0c;AXI4接口用于在DTR和DRR位置的突…

《web应用技术》第11次课后作业

课后练习&#xff1a; 1、验证过滤器进行权限验证的原理。 2、将自己之前的项目&#xff0c;加上过滤器验证功能。参考以下文章&#xff1a; 采用JWT令牌和Filter进行登录拦截认证-CSDN博客 3、Apifox的使用 了解Apifox的工具特点和使用方法&#xff0c;使用Apifox辅助生成…

【计算机网络】计算机网络的组成与功能

计算机网络的组成与功能 导读一、计算机网络的组成1.1 从组成方式上1.1.1 硬件1.1.2 软件1.1.3 协议 1.2 从工作方式上1.3 从功能组成上 二、计算机网络的功能2.1 数据通信2.2 资源共享2.3 分布式处理2.4 提高可靠性2.5 负载均衡2.6 其它 结语 导读 大家好&#xff0c;很高兴又…

vue2+elementui,动态生成的表单校验

话不多,先上一段视频,看看是不是你们需要的效果 elementui动态生成表单校验 附上代码 <template><div class"home"><div class"home-box"><!-- <menuHtml></menuHtml> --><div class"home-div"><…

MySQL 存储过程(二)

本篇继续介绍MySQL存储过程的相关内容。 目录 一、if语句 二、case 三、循环语句 while loop repeat 一、if语句 在存储过程中&#xff0c;可以使用if语句进行条件判断&#xff0c;其语法结构如下&#xff1a; if 判断语句 then 逻辑语句..... elseif 判断语句 then 逻…

JavaScript入门宝典:核心知识全攻略(上)

文章目录 前言一、JavaScript的定义二、JavaScript的使用方式1. 行内式&#xff08;主要用于事件&#xff09;2. 内嵌式3. 外链式 三、变量和数据类型1. 定义变量2. JavaScript注释3. 数据类型4. 变量命名规范5. 匈牙利命名风格 四、函数定义和调用1. 函数定义2. 函数调用3. 定…

ctfshow-web入门-命令执行(web30-web36)

目录 1、web30 2、web31 3、web32 4、web33 5、web34 6、web35 7、web36 命令执行&#xff0c;需要严格的过滤 1、web30 代码差不多&#xff0c;就是过滤的东西变多了&#xff1a; preg_match("/flag|system|php/i", $c) 这里不让用 system &#xff0c;我们…

宝贝,带上WebAssembly,换个姿势来优化你的前端应用

❝ 在你没崛起之前&#xff0c;脸是用来丢的 ❞ 大家好&#xff0c;我是「柒八九」。一个「专注于前端开发技术/Rust及AI应用知识分享」的Coder ❝ 此篇文章所涉及到的技术有 WebAssembly Rust Web Worker( comlink) wasm-pack Photon ffmpeg.wasm 脚手架生成前端项目 ❞ 因为&…

Yolo-v5模型训练速度,与GeForce的AI算力描述

1.GeForce RTX3070 Ti官网参数&#xff1a; GeForce RTXTM 3070 Ti 和 RTX 3070 显卡采用第 2 代 NVIDIA RTX 架构 - NVIDIA Ampere 架构。该系列产品搭载专用的第 2 代 RT Core &#xff0c;第 3 代 Tensor Core、全新的 SM 多单元流处理器以及高速显存&#xff0c;助您在高性…

Hi3519DV500 学习摘录

文章目录 一、问题1、autoreconf2、open-vm-tools 安装3、NFS4、pushd: not found 一、问题 1、autoreconf automake version mismatch | AM_INIT_AUTOMAKE | 版本不匹配 autoreconf ./configure make2、open-vm-tools 安装 open-vm-tools 安装 # 用于安装和升级的命令是相…

Codeforces Round 951 (Div. 2) C、D(构造、线段树)

1979C - Earning on Bets 构造题&#xff1a;观察到k范围很小&#xff0c;首先考虑最终硬币总数可以是多少&#xff0c;我们可以先假设最终的硬币总数为所有k取值的最小公倍数&#xff0c;这样只需要满足每个结果添加1枚硬币即可赚到硬币。 // Problem: C. Earning on Bets //…