9.11 codeforces Div 2

ops/2024/9/18 20:54:22/ 标签: 题解, codeforces, Div 2

文章目录

  • 9.11 Div 2
    • A. Dora's Set(删除三个互质数)
      • 思路
      • 代码
    • B. Index and Maximum Value(范围加减1求max)
      • 思路
      • 代码
    • C. Dora and C++(加a/b,最小化极差)
      • 思路
      • 代码

9.11 Div 2

Dashboard - Codeforces Round 969 (Div. 2) - Codeforces

A. Dora’s Set(删除三个互质数)

集合s是l,r之间的数字

  • 从集合 s 中选择三个不同的整数 a 、 b 和 c ,使得 gcd(a,b)=gcd(b,c)=gcd(a,c)=1 。

  • 然后,从集合 ss 中删除这三个整数。

思路

由题意知,需要尽可能多的组成三个互质的数字。必然不能存在两个偶数,所以每个组合至少两个奇数

由于集合s是连续序列,直接取相邻的三个数(两奇一偶),因而计算奇数个数,除以2就是答案。

代码

void solve()
{   int l,r;cin>>l>>r;int n=r-l+1;int j=n/2;if(n%2!=0) j=j+l%2;cout<<j/2<<'\n';
}

B. Index and Maximum Value(范围加减1求max)

对于一个整数数组,数字在 [ l , r ] [l,r] [l,r]范围内,进行+1或-1.每操作后,输出最大值。

审题不清,刚开始以为下标在某范围内,进行±,但平常也用不上算法,后来开始写ST,模板没记住,又废了好一会儿。

思路

看似复杂,实则只需考虑max,是否在范围内。

若不在范围内,顶多出现max-1变成了max ,最大值依旧为max

若在范围内,max++,便是答案

若不在范围内,max

在范围内,max—

代码

void solve()
{	int n,m,mx=0;char x;cin>>n>>m;fir(i,1,n){cin>>a[i];if(a[i]>mx)mx=a[i];}while(m--){int l,r;cin>>x>>l>>r;if(mx>=l&&mx<=r){ if(x=='+') mx++;else mx--;}	 cout<<mx<<' ';}cout<<'\n';
}

C. Dora and C++(加a/b,最小化极差)

一个数组可以选择对某个数字+a/b,进行无限次操作,得到最小极差

思路

​ 我的整体思路没错,计算一个C,数组对C取模,将结果围成一个圈,两种转圈方法,取最小的。

两个细节有问题

  • c我简单的以为是min(a,b,|a-b|),实在太疏忽了。

    比如(15,9),可以变成(15,18),此时他们的差值为3而不是6。这样太武断了,且没有说服力很强的论证,看起来就不像答案。

  • 对于第二中转圈方法,我将小于C/2的 数字+C,最后用max-min

    比如1 4 6 8 9,c=10

    此时为(14-6=8),这样并不是最优的,(11-4=7才是)。之前遇到过相似题,当时按这个思路写对了,复杂。

    问题应该这样解决:

  • c=__gcd(a,b)

最终数组肯定是由多个a,b相加得到,可以表示为 c i = f a + f b + c i c_i=fa+fb+c_i ci=fa+fb+ci

c i = k c + b c_i=kc+b ci=kc+b

  • w[i-1]+c-w[i]

这样将每一个i,作为开端,前面的数字作为末尾。遍历得出最小

最终答案有理有据,而我的武断猜想也很重要

代码

void solve()
{int n,a,b,ans;cin>>n>>a>>b;int c=__gcd(a,b);fir(i,1,n){cin>>w[i];w[i]%=c;}sort(w,w+n+1);ans=w[n]-w[1];//1fir(i,1,n){ans=min(ans,w[i-1]+c-w[i]);//2}cout<<ans<<'\n';
}

http://www.ppmy.cn/ops/109486.html

相关文章

源码编译llama.cpp 、ggml 后端启用自定义BLAS加速

源码编译llama.cpp 、ggml 后端启用自定义BLAS加速 我在llama.cpp 官网上提交了我的解决方案&#xff1a;How to setup OpenBlas on windows? #625 windows on arm 编译 llama.cpp 、ggml 后端启用自定义BLAS加速 我这以编译 windows on arm 的 llama.cpp 、ggml 为例子&am…

CTF—杂项题目

1.ctfshow-Misc入门-misc17 1 用010editer打开图片后没有直接搜到ctf&#xff1b; 2 用binwalk分析文件发现有一个bzip2的隐藏文件并将其分离&#xff1b; 3 得到一个压缩文件D86.bz2&#xff1b; 4 但使用解压命令进行解压时&#xff0c;显示文件受损&#xff1b; 5 参考别人…

防火墙、firewalld指令、更改yum源为阿里云的yum源及常见问题

一、防火墙分类 1、硬件防火墙 2、软件防火墙&#xff08;咱们昨天学的就属于这个&#xff09; 3、waf 4、下一代防火墙 二、工作原理 1、通过对进出口数据的&#xff08;数据、端口、IP等&#xff09;进行过滤&#xff0c;达到对内网数据的保护。 2、防护危险的一堵墙、…

【中间件】-容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么&#xff1f; K8s的架构原理 控制平面(Control plane) kube-apiserver etcd kube-scheduler kube-controller-manager cloud-controller-manager 小结 节点组件(Node) container runtime Pod kubelet ku…

switch语句

除了if语句外&#xff0c;C语言还提供switch语句来实现分支结构 switch语句是一种特殊形式的if…else结构&#xff0c;用于判断条件有多个结果的情况。 它把多重的else if改成更易用的、可读性更好的形式。 语法形式如下&#xff1a; #include <stdio.h> int main() …

第十六篇:走入计算机网络的传输层--传输层概述

1. 传输层的功能 ① 分割与重组数据 一次数据传输有大小限制&#xff0c;传输层需要做数据分割&#xff0c;所以在数据送达后必然也需要做数据重组。 ② 按端口号寻址 IP只能定位数据哪台主机&#xff0c;无法判断数据报文应该交给哪个应用&#xff0c;传输层给每个应用都设…

安卓开发板_联发科MTK开发板使用ADB开发

1. ADB 使用 1.1. 前言 ADB&#xff0c;全称 Android Debug Bridge&#xff0c;是 Android 的命令行调试工具&#xff0c;可以完成多种功能&#xff0c;如跟踪系统日志&#xff0c;上传下载文件&#xff0c;安装应用等。 1.2. 准备连接 使用 adb时&#xff0c;你需要&#x…

基于苹果Vision Pro的AI NeRF方案:MetalSplatter

随着苹果Vision Pro的发布,混合现实(Mixed Reality, MR)技术迎来了一个新的发展阶段。为了充分利用Vision Pro的潜力,一款名为MetalSplatter的Swift/Metal库应运而生,它允许开发者在Vision Pro上以全立体的方式体验捕捉内容。本文将详细介绍MetalSplatter的特点及其如何为…

单例模式解析

1.什么是单例模式 一种常用的软件设计模式&#xff0c;它确保一个类仅有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。 2.单例模式存在原因 &#xff08;1&#xff09;确保一个类仅有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。 &#xff08;2&…

0基础跟德姆(dom)一起学AI Python进阶10-算法和数据结构

* 自定义代码-模拟链表 * 删除节点 * 查找节点 * 算法入门-排序类的 * 冒泡排序 * 选择排序 * 插入排序 * 快速排序 * 算法入门-查找类的 * 二分查找-递归版 * 二分查找-非递归版 * 分线性结构-树介绍 * 基本概述 * 特点和分类 * 自定义代码-模拟二叉树 …

企业微信群管理:构建高效沟通与协作的社群生态

在数字化时代&#xff0c;企业微信群已成为企业内部沟通、团队协作及外部客户交流的重要平台。一个管理得当的企业微信群&#xff0c;不仅能够促进信息的快速流通&#xff0c;提升工作效率&#xff0c;还能增强团队凝聚力&#xff0c;优化客户体验。本文将从群规制定、内容管理…

docker-compose搭建mysql8

1、添加国内镜像 现在很多docker镜像拉不到&#xff0c;需手动配置镜像源。 修改/etc/docker/daemon.json文件&#xff08;如果没有手动新增&#xff09; { "registry-mirrors": [ "https://d9q4seay.mirror.aliyuncs.com", &quo…

【区块链通用服务平台及组件】信息数据流转验真技术研究项目 | FISCO BCOS应用案例

在日常工作中&#xff0c;相关系统每天会产生大量数据&#xff0c;系统之间有多种模式数据交互方式&#xff0c;数据监管工作量巨大&#xff0c;急需 数据追溯定位工具来辅助监管&#xff1b;数据在生产过程中经常会出现采集、提交、修改、删除等操作&#xff0c;需要对数据变更…

【go】pprof 性能分析

前言 go pprof是 Go 语言提供的性能分析工具。它可以帮助开发者分析 Go 程序的性能问题&#xff0c;包括 CPU 使用情况、内存分配情况、阻塞情况等。 主要功能 CPU 性能分析 go pprof可以对程序的 CPU 使用情况进行分析。它通过在一定时间内对程序的执行进行采样&#xff0…

如何看待AI技术对人们生活的影响?

人工智能&#xff08;AI&#xff09;技术对人们生活的影响是多方面的&#xff0c;既有积极的一面&#xff0c;也存在一些需要关注的问题。以下是对AI技术在生活中影响的综合看法&#xff1a; 积极影响&#xff1a; 提高效率&#xff1a;AI技术在各行各业中的应用大大提高了工作…

HTML元素拓展:data-*属性的应用与实践

data-*属性的应用与实践 1、定义2、用法举例2、应用场景 1、定义 data-* 属性用于存储页面或应用程序的私有自定义数据&#xff0c;它赋予我们在所有 HTML 元素上嵌入自定义数据属性的能力&#xff0c;并可以通过脚本在 HTML 与 DOM 表现之间进行专有数据的交换。 如&#xff…

【ACM独立出版】第二届物联网与云计算技术国际学术会议 (IoTCCT 2024,9月27-29)

第二届物联网与云计算技术国际学术会议 (IoTCCT 2024)将围绕“物联网与云计算技术”领域&#xff0c;为来自国内外高等院校、科学研究所、企事业单位的专家、教授、学者、工程师等提供一个分享专业经验&#xff0c;扩大专业网络&#xff0c;面对面交流新思想以及展示研究成果的…

Vue3使用vue-qrcode-reader实现扫码绑定设备功能

需求描述 移动端进入网站后&#xff0c;登录网站进入设备管理界面。点击添加设备&#xff0c;可以选择直接添加或者扫一扫。点击扫一扫进行扫描二维码获取设备序列号自动填充到添加设备界面的序列号输入框中。然后点击完成进行设备绑定。 安装vue-qrcode-reader 这里使用的版…

【最新综述】基于深度学习的超声自动无损检测(下)

4.Levels of automation 5.Basic axioms for DL-based ultrasonic NDE 在回顾了最新技术和每个自动化级别的贡献之后&#xff0c;我们不难发现&#xff0c;目前的数字语言方法论在不同论文之间存在着很大的差异。例如&#xff0c;有些作者提出了同时处理不同步骤的模型[121]&…

【开源免费】基于SpringBoot+Vue.JS在线旅游网站(JAVA毕业设计)

本文项目编号 T 025 &#xff0c;文末自助获取源码 \color{red}{T025&#xff0c;文末自助获取源码} T025&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…