当前位置: 首页 > news >正文

Codeforces Round 889 (Div. 2) 题解

晚上睡不着就来总结一下叭~(OoO)

赛后榜(希望不要被Hack...Orz)

终榜!!!

瞬间的辉煌(呜呜呜~)

 

先不放图了。。怕被dalaoHack...呜呜呜~

总结

        7.29半夜比赛,本来是不想打的,感觉最近做的题太多了,什么牛客杭电以及CF上的题等等等,挺杂的,也来不及整理,本想梳理一下,而且也感觉今天状态不太好,但见他们都要打,我也就跟着一起打了。。。总体来说还可以吧(目前来说。。如果明天早上不会被Hack的话。。。。祈祷Orz...保佑...)但是A题出现一点小失误,考虑问题不完整,WA了一发,不应该,而且这题用时也比较长,8分钟,脑子当时没转过来啊啊啊啊啊啊。。。附加WA一发。B题实话实说有点傻逼。。。直接猜结论,开始不敢写,因为我自己都不等说服自己。。。但是想了十分钟左右,没有其他思路,直接莽了,没想到竟然过了。不敢相信,虽然我也不知道为什么过的。。Orz...C1大模拟,有点复杂,但是还可以。后接近一个半小时都在改C2,最后也没改对,需要注意的细节太多了。。。总有考虑到的。。直到最后就这样了。。。

题解

A. Dalton the Teacher

思路:计算学生的学号和椅子的编号相同的个数ans,若是奇数则相同的个数ans/2+1,若是偶数则相同的个数ans/2即可(其实就是两个人交换,如果最后还剩下一个人再交换一次)

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
#include<map>
#include<set>
#define int long long
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;typedef pair<int,int> PII;
const int N=200005;
const int inf=0x3f3f3f3f;
int a[N];signed main(){IOS;int T;  cin>>T;while(T--){int n,ans=0;  cin>>n;for(int i=1;i<=n;i++){int p;  cin>>p;if(p==i){ans++;}}if(ans==0){cout<<0<<'\n';}else{if(ans%2){cout<<ans/2+1<<'\n';}else{cout<<ans/2<<'\n';}}}return 0;
}

B. Longest Divisors Interval

思路:用1-1000去类比1-10e18,虽然我也不知道原理是什么。。。随便猜的啊啊啊。。Orz...

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
#include<map>
#include<set>
#define int long long
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;typedef pair<int,int> PII;
const int N=200005;
const int inf=0x3f3f3f3f;
int a[N];signed main(){IOS;int T;  cin>>T;while(T--){int n,cnt=0,ans=-inf;  cin>>n;for(int i=1;i<=1000;i++){if(n%i==0){cnt++;}else{ans=max(ans,cnt);cnt=0;}}cout<<ans<<'\n';}return 0;
}

C1. Dual (Easy Version)

思路:模拟。。分别找最大的数nmax和最小的数nmin,比较谁的绝对值更大,如果最大的数nmax的绝对值更大,从前往后遍历,如果前一个数比当前数大,后一个数加nmax(nmax不可能是负的,如果最大的是负的那么最小的也是负的,两个都是负的一定是最小的数的绝对值较大);如果最小的数nmin的绝对值更大,从后往前遍历,如果前一个数比当前数大,前一个数加nmin(nmin不可能是正的,如果最小的是正的那么最大的也是正的,两个都是正的一定是最大的数的绝对值较大),将标号如队列即可

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
#include<map>
#include<set>
#define int long long
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;typedef pair<int,int> PII;
const int N=25;
const int inf=0x3f3f3f3f;
int a[N];signed main(){IOS;int T;  cin>>T;while(T--){vector<PII> v;int n,nmax=-inf,dn,nmin=inf,xn,ans=0;  cin>>n;for(int i=1;i<=n;i++){cin>>a[i];if(a[i]>nmax){dn=i;nmax=a[i];}if(a[i]<nmin){xn=i;nmin=a[i];}}if(abs(nmax)>abs(nmin)){for(int i=2;i<=n;i++){while(a[i]<a[i-1]){a[i]+=nmax;ans++;v.push_back({i,dn});if(a[i]>nmax){dn=i;nmax=a[i];}}}}else{for(int i=n-1;i>0;i--){while(a[i]>a[i+1]){a[i]+=nmin;ans++;v.push_back({i,xn});if(a[i]<nmin){xn=i;nmin=a[i];}}}}cout<<ans<<'\n';for(auto u:v){cout<<u.first<<' '<<u.second<<'\n';}}return 0;
}

C2. Dual (Hard Version)(待补。。)

应该是全是负数的情况没有考虑。。MLE2了,而且一想这也不是最优的。也不对。。。

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<vector>
#include<map>
#include<set>
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;typedef pair<int,int> PII;
const int N=25;
const int inf=0x3f3f3f3f;int a[N];
vector<PII> v;
int main(){IOS;int T;  cin>>T;while(T--){v.clear();int n,ans=0;  cin>>n;for(int i=0;i<n;i++){cin>>a[i];}for(int i=1;i<n;i++){if(a[i]<a[i-1]){int d=a[i-1]-a[i],zn=inf,zi;for(int j=0;j<n;j++){if(zn>=d&&a[j]<zn&&a[j]>=d){zn=a[j];zi=j;}}if(zn!=inf){v.push_back({i+1,zi+1});ans++;a[i]+=a[zi];}else{int nmax=-inf,dn;for(int j=0;j<n;j++){if(a[j]>nmax){nmax=a[j];dn=j;}}while(a[i-1]>a[i]){a[i]+=a[dn];v.push_back({i+1,dn+1});ans++;}}}}cout<<ans<<'\n';for(auto u:v){cout<<u.first<<' '<<u.second<<'\n';}}return 0;
}

Orz......

相关文章:

Codeforces Round 889 (Div. 2) 题解

晚上睡不着就来总结一下叭~&#xff08;OoO&#xff09; 赛后榜(希望不要被Hack...Orz) 终榜&#xff01;&#xff01;&#xff01; 瞬间的辉煌(呜呜呜~) 先不放图了。。怕被dalaoHack...呜呜呜~ 总结 7.29半夜比赛&#xff0c;本来是不想打的&#xff0c;感觉最近做的题太多…...

系统学习Linux-MySQL用户权限管理(三)

一、用户权限管理概述 数据库用户权限管理是数据库系统中非常重要的一个方面&#xff0c;它用于控制不同用户访问和操作数据库的权限范围。数据库用户权限管理可以保护敏感数据和数据库结构&#xff0c;确保只有被授权的用户才可以操作和使用数据库&#xff0c;防止数据被修改…...

【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境4

7、使用串口工具 &#xff08;1&#xff09;连接硬件 连接 Type C 线&#xff0c; 一端电脑一端开发板 查看设备是否已经正确识别&#xff1a; 在 Windows 下可以打开设备管理器来查看 如果没有发现设备&#xff0c; 需要确认有没有装驱动以及接触是否良好 &#xff08;2&a…...

阿里云NVIDIA A100 GPU云服务器性能详解及租用费用

阿里云GPU服务器租用费用表包括包年包月、一个小时收费以及学生GPU服务器租用费用&#xff0c;阿里云GPU计算卡包括NVIDIA V100计算卡、T4计算卡、A10计算卡和A100计算卡&#xff0c;GPU云服务器gn6i可享受3折&#xff0c;阿里云百科分享阿里云GPU服务器租用表、GPU一个小时多少…...

数字身份、分布式存储、跨链技术等将如何推动Web3数据的发展?

Web3数据是基于区块链技术、去中心化、可信任的数据&#xff0c;具有较高的安全性和可信度。随着Web3.0时代的到来&#xff0c;Web3数据将会在金融、物联网、医疗、教育、政务等领域发挥重要的作用。其中&#xff0c;数字身份、分布式存储、跨链技术等将会是Web3数据发展的重要…...

Ubuntu 新增2T 硬盘,配置自动挂载

Ubuntu 台式机内存太小了&#xff0c;增加了一块 2T 的硬盘&#xff0c;记录下配置过程&#xff1a; 查看硬盘信息 可以看出&#xff0c;我电脑当前有三块硬盘&#xff1a; &#xff08;1&#xff09; /dev/nvme0n1 系统盘&#xff0c;256 G&#xff0c;分了两个区 /dev/nvme0n…...

Windows下安装HBase

Windows下安装HBase 一、HBase简介二、HBase下载安装包三、环境准备3.1、 JDK的安装3.2、 Hadoop的安装 四、HBase安装4.1、压缩包解压为文件夹4.2、配置环境变量4.3、%HBASE_HOME%目录下新建临时文件夹4.4、修改配置文件 hbase-env.cmd4.4.1、配置JAVA环境4.4.2、set HBASE_MA…...

在家构建您的迷你 ChatGPT

这篇文章分为三个部分&#xff1b;他们是&#xff1a; 什么是指令遵循模型&#xff1f;如何查找遵循模型的指令构建一个简单的聊天机器人废话不多说直接开始吧&#xff01;&#xff01;&#xff01; 什么是指令遵循模型&#xff1f; 语言模型是机器学习模型&#xff0c;可以根…...

Cisco IOS操作(红茶三杯CCNA)

Cisco路由器组件 CPU&#xff1a;执行指令RAM&#xff1a;断电内容丢失 运行操作系统运行配置文件IP路由表ARP缓存数据包缓存区 ROM&#xff1a;保存开机自检软件&#xff0c;存储路由器的启动引导程序 bootstrap指令基本的自检软件迷你版IOS 非易失RAM&#xff08;NVRAM&#…...

在Linux中用strsignal函数输出对各种信号的描述

2023年7月29日&#xff0c;周六上午 目录 函数原型Linux有多少种信号使用示例 函数原型 #include <string.h>char* strsignal(int signum);strsignal函数接受一个整数参数signum&#xff0c;表示信号的编号。 用于把信号编号转换成一个简短的对这个信号编号的描述。 L…...

分布式文件存储与数据缓存 Redis高可用分布式实践(上)

一、Reids概述 1.1 为什么要使用NoSQL 单机Mysql的美好年代 在90年代&#xff0c;一个网站的访问量一般都不大&#xff0c;用单个数据库完全可以轻松应付。在那个时候&#xff0c;更多的都是静态网页&#xff0c;动态交互类型的网站不多。 遇到问题&#xff1a; 随着用户数的…...

chatglm2外挂知识库问答的简单实现

一、背景 大语言模型应用未来一定是开发热点&#xff0c;现在一个比较成功的应用是外挂知识库。相比chatgpt这个知识库比较庞大&#xff0c;效果比较好的接口。外挂知识库大模型的方式可以在不损失太多效果的条件下获得数据安全。 二、原理 现在比较流行的一个方案是langcha…...

从0到1开发go-tcp框架【1-搭建server、封装连接与业务绑定、实现基础Router、抽取全局配置文件】

从0到1开发go-tcp框架【1-搭建server、封装连接与业务绑定、实现基础Router】 本期主要完成对Server的搭建、封装连接与业务绑定、实现基础Router&#xff08;处理业务的部分&#xff09;、抽取框架的全局配置文件 从配置文件中读取数据&#xff08;服务器监听端口、监听IP等&a…...

建设银行秋招指南,备考技巧和考试内容详解

建设银行秋招简介 银行作为非常吃香的岗位&#xff0c;每年都有不少同学通过投递简历&#xff0c;进入笔试&#xff0c;再到面试成功&#xff0c;成功到银行就职&#xff0c;也有相当一部分同学因为信息差&#xff0c;符合条件却没有报名。无法进入银行工作。 建设银行的秋招…...

Cilium 系列-7-Cilium 的 NodePort 实现从 SNAT 改为 DSR

系列文章 Cilium 系列文章 前言 将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能。但是通过对 Cilium 不同模式的切换/功能的启用&#xff0c;可以进一步提升 Cilium 的网络性能。具体调优项包括不限于&#xff1a; 启用本地路由 (Native Rou…...

React的hooks---useReducer

useReducer 作为 useState 的代替方案&#xff0c;在某些场景下使用更加适合&#xff0c;例如 state 逻辑较复杂且包含多个子值&#xff0c;或者下一个 state 依赖于之前的 state 等。 使用 useReducer 还能给那些会触发深更新的组件做性能优化&#xff0c;因为父组件可以向自…...

自然语言处理从入门到应用——LangChain:模型(Models)-[文本嵌入模型Ⅱ]

分类目录&#xff1a;《自然语言处理从入门到应用》总目录 本文将介绍如何在LangChain中使用Embedding类。Embedding类是一种与嵌入交互的类。有很多嵌入提供商&#xff0c;如&#xff1a;OpenAI、Cohere、Hugging Face等&#xff0c;这个类旨在为所有这些提供一个标准接口。 …...

Olap BI工具对比

背景 目前公司主要使用数据存储有MySQL、ES、Hive、HBase、TiDB等 MySQL用于存储应用的基本支撑数据&#xff0c;数据量少&#xff1b;ES和Hbase用于存储和查询调用记录&#xff0c;数据量多&#xff1b;Hive和TiDB用于DC上使用&#xff0c;数据量多。主要使用的数据分析平台…...

【iOS】Cocoapods的安装以及使用

文章目录 前言一、Cocoapods的作用二、安装Cocoapods三、使用Cocoapods总结 前言 最近笔者在仿写天气预报App时用到了api调用数据&#xff0c;一般的基本数据类型我们用Xcode中自带的框架就可以转换得到。但是在和风天气api中的图标的格式为svg格式。 似乎iOS13之后Xcode中可…...

OpenCvSharp (C# OpenCV) 二维码畸变矫正--基于透视变换(附源码)

导读 本文主要介绍如何使用OpenCvSharp中的透视变换来实现二维码的畸变矫正。 由于CSDN文章中贴二维码会导致显示失败,大家可以直接点下面链接查看图片: C# OpenCV实现二维码畸变矫正--基于透视变换 (详细步骤 + 代码) 实现步骤 讲解实现步骤之前先看下效果(左边是原图,右边…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...