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

Codeforces Round 784 (Div. 4)

题目链接

A. Division?

题意

在这里插入图片描述

思路

模拟即可

示例代码

void solve() {int n;cin >> n;int ans;if(n >= 1900) ans = 1;else if(n >= 1600) ans = 2;else if(n >= 1400) ans = 3;else ans = 4;cout << "Division " << ans << '\n';}

B. Triple

题意

在这里插入图片描述

思路

模拟即可

void solve() {map<int, int>mp;int n;cin >> n;fer(i, 0, n){int a;cin >> a;mp[a]++;}for(auto it : mp){if(it.second >= 3){cout << it.first << '\n';return;}}cout << -1 << '\n';
}

C. Odd/Even Increments

题意

在这里插入图片描述

思路

因为每次操作都是对所有的奇数位置或者所有的偶数位置+1,操作次数是不限的,所以只需要判断初始条件下所有奇数位置的元素奇偶性是否一致,和所有偶数位置的奇偶性是否一致。

示例代码

void solve() {int n;cin >> n;vector<int>arr(n);bool ok = true;fer(i, 0, n) cin >> arr[i];for(int i = 0; i + 2 < n; i += 2){if((arr[i] & 1) != (arr[i + 2] & 1)){ok = false;break;}}if(!ok){cout << "NO" << '\n';return;}for(int i = 1; i + 2 < n; i += 2){if((arr[i] & 1) != (arr[i + 2] & 1)){ok = false;break;}}if(ok) cout << "YES" << '\n';else cout << "NO" << '\n';
}

D. Colorful Stamp

题意

在这里插入图片描述

思路

经过分析验证,任意连续区间内同时包含RB的字符串最终都可以实现。因此,我们只需要判断所有连续W之间的子串是否同时含有RB即可。

示例代码

void solve() {int n;cin >> n;string s;cin >> s;s = "W" + s + "W";vector<int>arr;fer(i, 0, s.size())if(s[i] == 'W') arr.push_back(i);fer(i, 0, arr.size() - 1){int l = arr[i], r = arr[i + 1];int c1 = 0, c2 = 0;fer(j, l + 1, r){if(s[j] == 'R') c1++;else if(s[j] == 'B') c2++;}//cout << c1 << ' ' << c2 << '\n';if(c1 * c2 == 0 && !(c1 + c2 == 0)){cout << "NO" << '\n'; return;}}cout << "YES" << '\n';
}

E. 2-Letter Strings

题意

在这里插入图片描述

思路

题意要我们找出这样的字符串的对数:这两个字符串只有一个位置对应的字符不同。我们可以用二维数组记录每种字符串的个数,再模拟即可。

示例代码

void solve() {int n;cin >> n;string s;int mp[20][20]{};ll ans = 0;while(n--){cin >> s;fer(i, 0, 11){if(s[1] - 'a' != i) ans += mp[s[0] - 'a'][i];if(s[0] - 'a' != i) ans += mp[i][s[1] - 'a'];}mp[s[0] - 'a'][s[1] - 'a']++;}cout << ans << '\n';
}

也可以这样写,区别在于是否重复统计了次数,输入字符串时统计只统计之前的次数,全部输入完再统计会同时统计后面的次数,因此重复了

void solve() {int n;cin >> n;int mp[20][20]{};vector<string>arr(n);fer(i, 0, n) cin >> arr[i], mp[arr[i][0] - 'a'][arr[i][1] - 'a']++;ll ans = 0;fer(i, 0, n){fer(j, 0, 11){if(arr[i][1] - 'a' != j) ans += mp[arr[i][0] - 'a'][j];if(arr[i][0] - 'a' != j) ans += mp[j][arr[i][1] - 'a'];}}cout << ans / 2 << '\n';
}

F. Eating Candies

题意

在这里插入图片描述

思路

相向前后指针,注意边界的处理

示例代码

void solve() {int n;cin >> n;vector<int>arr(n + 1);fer(i, 1, n + 1) cin >> arr[i];int s1 = arr[1], s2 = arr.back();int cnt = 0;int l = 1, r = n;while(l < r){while(l < r - 1 && s1 < s2) l++, s1 += arr[l];while(l < r - 1 && s1 > s2) r--, s2 += arr[r];if(s1 == s2) cnt = l + (n - r + 1);l++, s1 += arr[l];}cout << cnt << '\n';
}

G. Fall Down

题意

在这里插入图片描述

思路

遍历每一列,从下往上找连续空单元格.,如果在这过程中遇到石头*就进行swap,如果遇到障碍物o,就需要归零空单元格数,重新向上查找.

示例代码

void solve() {int n, m;cin >> n >> m;vector<string> arr(n);fer(i, 0, n) cin >> arr[i];fer(col, 0, m){int row = n - 1, cnt = 0;while(row >= 0){while(row >= 0 && arr[row][col] == '.') cnt++, row--;if(row >= 0 && arr[row][col] == '*') swap(arr[row][col], arr[row + cnt][col]), row--;else cnt = 0, row--;}}for(auto c : arr) cout << c << '\n';cout << '\n';
}

相关文章:

Codeforces Round 784 (Div. 4)

题目链接 A. Division? 题意 思路 模拟即可 示例代码 void solve() {int n;cin >> n;int ans;if(n > 1900) ans 1;else if(n > 1600) ans 2;else if(n > 1400) ans 3;else ans 4;cout << "Division " << ans << \n;}B. T…...

OpenNebula 开源虚拟平台,对标 VMware

Beeks Group 主要为金融服务提供商提供虚拟专用服务器和裸机服务器。该公司表示&#xff0c;转向 OpenNebula 不仅大幅降低了成本&#xff0c;还使其虚拟机效率提升了 200%&#xff0c;并将更多裸机服务器资源用于客户端负载&#xff0c;而非像以往使用 VMware 时那样用于虚拟机…...

软件项目标书参考,合同拟制,开发合同制定,开发协议,标书整体技术方案,实施方案,通用套用方案,业务流程,技术架构,数据库架构全资料下载(原件)

1、终止合同协议书 2、项目合作协议 3、合同交底纪要 4、合同管理台账 软件资料清单列表部分文档清单&#xff1a;工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&#xff0c;产品需求规格说明书&#xff0c;需求调研计划&#xff0c;用户需求调查单&…...

Jenkins环境一站式教程:从安装到配置,打造高效CI/CD流水线环境-Ubuntu 22.04.5 环境离线安装配置 Jenkins 2.479.1

文章目录 Jenkins环境一站式教程&#xff1a;从安装到配置&#xff0c;打造高效CI/CD流水线环境-Ubuntu 22.04.5 环境离线安装配置 Jenkins 2.479.1一、环境准备1.1 机器规划1.2 环境配置1.2.1 设置主机名1.2.2 停止和禁用防火墙1.2.3 更新系统 二、安装配置Jenkins2.1 安装JDK…...

【Android】ARouter源码解析

本篇文章主要讲解了 ARouter 框架的源码分析&#xff0c;包括其初始化过程、核心方法等。 初始化 在使用ARouter的时候我们都会先进行初始化&#xff1a; ARouter.init(this);我们看下 init() 源码&#xff1a; public static void init(Application application) {// 检查…...

计算直线的交点数

主要实现思路 整体流程思路&#xff1a; 程序旨在解决给定平面上不同数量的直线&#xff08;无三线共点&#xff09;&#xff0c;求出每种直线数量下所有可能的交点数量&#xff0c;并按要求格式输出的问题。整体通过初始化一个二维数组来存储不同直线数量与交点数量对应的存在…...

STM32基于HAL库的串口接收中断触发机制和适用场景

1. HAL_UART_Receive_DMA函数 基本功能 作用&#xff1a;启动一个固定长度的 DMA 数据接收。特点&#xff1a; 需要预先指定接收数据的长度&#xff08;Size 参数&#xff09;。DMA 会一直工作直到接收到指定数量的数据&#xff0c;接收完成后触发 HAL_UART_RxCpltCallback 回…...

java面试宝典

本文只摘抄部分宝典内容&#xff0c;完整宝典可以在打开下方链接&#xff0c;在网盘获取 ^ _ ^ 链接:java面试宝典 提取码: wxy1 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 链接: java前端面试宝典 提取码: wxy1 复制这段内容后打开百度网盘手机App&#xff…...

Scala—Slice(提取子序列)方法详解

Scala—Slice&#xff08;提取子序列&#xff09;方法详解 在 Scala 中&#xff0c;slice 方法用于从集合中提取一个连续的子序列&#xff08;切片&#xff09;。可以应用于多种集合类型&#xff0c;如 List、Array、Seq 等。 一、slice 方法的定义 slice 根据提供的起始索引…...

【电子通识】案例:USB Type-C USB 3.0线缆做直通连接器TX/RX反向

【电子通识】案例:连接器接线顺序评估为什么新人总是评估不到位?-CSDN博客这个文章的后续。最近在做一个工装项目,需要用到USB Type-C线缆做连接。 此前已经做好了线序规划,结果新人做成实物后发现有的USB Type-C线缆可用,有的不行。其中发现USB3.0的TX-RX信号与自己的板卡…...

【SKFramework框架核心模块】3-5、函数扩展模块

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群&#xff1a;398291828小红书小破站 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 【Unity3D框架】SKFramework框架完全教程《全…...

使用 EasyExcel 提升 Excel 处理效率

目录 前言1. EasyExcel 的优点2. EasyExcel 的功能3. 在项目中使用 EasyExcel3.1 引入依赖3.2 实体类的定义与注解3.3 工具类方法的实现3.4 在 Controller 中使用 4. 总结5. 参考地址 前言 在日常开发中&#xff0c;Excel 文件的处理是不可避免的一项任务&#xff0c;特别是在…...

【提高篇】3.7 GPIO(七,GPIO开发模型 一)

目录 一,开发模型 二,初始化函数 2.1 时钟使能 一,开发模型 通常我们在进行GPIO相关外设的开发时,往往遵循下面4个步骤,如下: 初始化函数 用于进行时钟设置、参数设置、IO设置、中断设置等。读处理函数 用于从外设读取数据。写处理函数 用于从向外设写数据。中断处理…...

Webpack Tree Shaking 技术原理及应用实战,优化代码,精简产物

前言 在前端开发中&#xff0c;优化代码体积和提升应用性能是至关重要的课题。Webpack 提供了多种优化手段来帮助开发者实现这一目标&#xff0c;Tree Shaking 就是其中一种非常重要的优化技术&#xff0c;它通过在编译阶段移除未被使用的代码模块&#xff0c;从而显著减小最终…...

angular19-官方教程学习

周日了解到angular已经更新到19了&#xff0c;想按官方教程学习一遍&#xff0c;工欲善其事必先利其器&#xff0c;先更新工具&#xff1a; 安装新版版本 卸载老的nodejs 20.10.0&#xff0c;安装最新的LTS版本 https://nodejs.org 最新LTS版本已经是22.12.0 C:\Program File…...

RocketMQ集群部署完整指南

前言 本文将详细介绍RocketMQ集群的部署流程,包括环境准备、安装配置、启动运维等各个方面。 一、环境准备 1.1 系统要求 64位操作系统,建议LinuxJDK 1.8及以上版本源码安装需要Maven 3.2.x1.2 下载RocketMQ 可从以下地址获取RocketMQ安装包: Apache官方开源地址: http://r…...

解决mysql 内存持续上涨问题

问题背景&#xff1a; 业务量不大&#xff0c;Mysql 内存持续上涨&#xff0c;虽然不是很明显&#xff0c;但随着时间慢慢增长&#xff0c;1~2个月左右内存达到80%一旦有一些执行缓慢的sql 内存会快速上去增加/修改大表的字段内存会快速上去 常规操作&#xff1a; Mysql 设置…...

Qt 小项目 学生管理信息系统

主要是对数据库的增删查改的操作 登录/注册界面&#xff1a; 主页面&#xff1a; 添加信息&#xff1a; 删除信息&#xff1a; 删除第一行&#xff08;支持多行删除&#xff09; 需求分析&#xff1a; 用QT实现一个学生管理信息系统&#xff0c;数据库为MySQL 要求&#xf…...

16-01、JVM系列之:内存与垃圾回收篇(一)

JVM系列之&#xff1a;内存与垃圾回收篇&#xff08;一&#xff09; ##本篇内容概述&#xff1a; 1、JVM结构 2、类加载子系统 3、运行时数据区之&#xff1a;PC寄存器、Java栈、本地方法栈一、JVM与JAVA体系结构 JAVA虚拟机与JAVA语言并没有必然的联系&#xff0c;它只是与特…...

聊聊系统的弹力设计-服务器性能指标篇(一)

一、什么是弹性机制 弹性&#xff0c;大家可以轻易的联想到橡胶&#xff0c;可伸缩性是弹性机制的一个很重要的特点&#xff0c;但是实际上弹性不等同于可伸缩性 弹性&#xff08;Elasticity&#xff09; 通常指的是系统能够自动适应负载的变化&#xff0c;即自动扩展和收缩资…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目&#xff0c;设置虚拟环境&#xff0c;出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

高分辨率图像合成归一化流扩展

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 1 摘要 我们提出了STARFlow&#xff0c;一种基于归一化流的可扩展生成模型&#xff0c;它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流&#xff08;TARFlow&am…...

Qt的学习(二)

1. 创建Hello Word 两种方式&#xff0c;实现helloworld&#xff1a; 1.通过图形化的方式&#xff0c;在界面上创建出一个控件&#xff0c;显示helloworld 2.通过纯代码的方式&#xff0c;通过编写代码&#xff0c;在界面上创建控件&#xff0c; 显示hello world&#xff1b; …...