当前位置: 首页 > 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实现二维码畸变矫正--基于透视变换 (详细步骤 + 代码) 实现步骤 讲解实现步骤之前先看下效果(左边是原图,右边…...

告别CTex!TeX Live+Texstudio组合安装避坑指南(Windows/Mac双平台)

告别CTex&#xff01;TeX LiveTexstudio组合安装避坑指南&#xff08;Windows/Mac双平台&#xff09; 如果你曾经使用过CTex套装&#xff0c;可能会被其"开箱即用"的便利性所吸引。但当你需要跨平台协作或追求更灵活的定制时&#xff0c;TeX LiveTexstudio的组合无疑…...

Phi-3-mini-4k-instruct-gguf开发者案例:为微信小程序后端提供的轻量API服务

Phi-3-mini-4k-instruct-gguf开发者案例&#xff1a;为微信小程序后端提供的轻量API服务 1. 项目背景与需求 在开发微信小程序时&#xff0c;我们经常需要为前端提供智能文本处理能力&#xff0c;比如自动生成商品描述、智能客服回复、内容摘要等。传统方案要么需要调用第三方…...

终极免费抖音无水印视频下载完整教程:3步快速获取高清素材

终极免费抖音无水印视频下载完整教程&#xff1a;3步快速获取高清素材 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback s…...

掌握罗技鼠标宏的5个技术维度:从原理到实战优化

掌握罗技鼠标宏的5个技术维度&#xff1a;从原理到实战优化 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 一、技术原理解析&#xff1a;机械补…...

FreeRTOS数据通信避坑指南:为什么我的MessageBuffer总是接收失败?

FreeRTOS消息缓冲区实战&#xff1a;从接收失败到高效通信的深度解析 第一次在FreeRTOS项目中使用MessageBuffer时&#xff0c;我遇到了一个令人抓狂的问题——明明发送端显示消息已成功写入&#xff0c;接收端却总是返回0字节。调试器显示缓冲区非空&#xff0c;但xMessageBuf…...

Phi-3-mini-4k-instruct-gguf GPU利用率优化:CUDA核心占用率与吞吐量分析

Phi-3-mini-4k-instruct-gguf GPU利用率优化&#xff1a;CUDA核心占用率与吞吐量分析 1. 模型概述与性能挑战 Phi-3-mini-4k-instruct-gguf是微软推出的轻量级文本生成模型&#xff0c;基于GGUF格式优化&#xff0c;特别适合问答、文本改写和摘要生成等场景。虽然模型体积小巧…...

Zotero重复条目智能处理指南:从混乱到有序的文献管理解决方案

Zotero重复条目智能处理指南&#xff1a;从混乱到有序的文献管理解决方案 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 学术研究中&#xff…...

Qwen3-14B私有部署镜像算法题求解助手:从理解到实现

Qwen3-14B私有部署镜像算法题求解助手&#xff1a;从理解到实现 1. 为什么算法工程师需要AI助手 算法工程师和求职者每天都要面对各种算法问题&#xff0c;从简单的排序到复杂的动态规划。传统方式下&#xff0c;我们需要反复查阅资料、手动编写测试用例、调试代码&#xff0…...

GLM-4.1V-9B-Base行业落地:建筑图纸局部区域语义理解与标注建议

GLM-4.1V-9B-Base行业落地&#xff1a;建筑图纸局部区域语义理解与标注建议 1. 建筑行业的AI视觉理解需求 建筑设计和施工过程中&#xff0c;图纸理解与标注是一项耗时且容易出错的工作。传统方式需要经验丰富的工程师手动识别图纸中的各个元素&#xff0c;不仅效率低下&…...

STM32驱动SG90舵机:从PWM原理到蓝牙远程控制实战

1. 认识SG90舵机与PWM控制 第一次拿到SG90这个小家伙时&#xff0c;我差点以为是个玩具电机。直到把它接上STM32&#xff0c;看到它能精准地停在指定角度&#xff0c;才意识到这玩意儿在机器人、智能家居里有多实用。SG90是一种微型舵机&#xff0c;三根线分别接电源&#xff0…...