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
题意

思路
经过分析验证,任意连续区间内同时包含R和B的字符串最终都可以实现。因此,我们只需要判断所有连续W之间的子串是否同时含有R和B即可。
示例代码
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 主要为金融服务提供商提供虚拟专用服务器和裸机服务器。该公司表示,转向 OpenNebula 不仅大幅降低了成本,还使其虚拟机效率提升了 200%,并将更多裸机服务器资源用于客户端负载,而非像以往使用 VMware 时那样用于虚拟机…...
软件项目标书参考,合同拟制,开发合同制定,开发协议,标书整体技术方案,实施方案,通用套用方案,业务流程,技术架构,数据库架构全资料下载(原件)
1、终止合同协议书 2、项目合作协议 3、合同交底纪要 4、合同管理台账 软件资料清单列表部分文档清单:工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单&…...
Jenkins环境一站式教程:从安装到配置,打造高效CI/CD流水线环境-Ubuntu 22.04.5 环境离线安装配置 Jenkins 2.479.1
文章目录 Jenkins环境一站式教程:从安装到配置,打造高效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 框架的源码分析,包括其初始化过程、核心方法等。 初始化 在使用ARouter的时候我们都会先进行初始化: ARouter.init(this);我们看下 init() 源码: public static void init(Application application) {// 检查…...
计算直线的交点数
主要实现思路 整体流程思路: 程序旨在解决给定平面上不同数量的直线(无三线共点),求出每种直线数量下所有可能的交点数量,并按要求格式输出的问题。整体通过初始化一个二维数组来存储不同直线数量与交点数量对应的存在…...
STM32基于HAL库的串口接收中断触发机制和适用场景
1. HAL_UART_Receive_DMA函数 基本功能 作用:启动一个固定长度的 DMA 数据接收。特点: 需要预先指定接收数据的长度(Size 参数)。DMA 会一直工作直到接收到指定数量的数据,接收完成后触发 HAL_UART_RxCpltCallback 回…...
java面试宝典
本文只摘抄部分宝典内容,完整宝典可以在打开下方链接,在网盘获取 ^ _ ^ 链接:java面试宝典 提取码: wxy1 复制这段内容后打开百度网盘手机App,操作更方便哦 链接: java前端面试宝典 提取码: wxy1 复制这段内容后打开百度网盘手机Appÿ…...
Scala—Slice(提取子序列)方法详解
Scala—Slice(提取子序列)方法详解 在 Scala 中,slice 方法用于从集合中提取一个连续的子序列(切片)。可以应用于多种集合类型,如 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群:398291828小红书小破站 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【Unity3D框架】SKFramework框架完全教程《全…...
使用 EasyExcel 提升 Excel 处理效率
目录 前言1. EasyExcel 的优点2. EasyExcel 的功能3. 在项目中使用 EasyExcel3.1 引入依赖3.2 实体类的定义与注解3.3 工具类方法的实现3.4 在 Controller 中使用 4. 总结5. 参考地址 前言 在日常开发中,Excel 文件的处理是不可避免的一项任务,特别是在…...
【提高篇】3.7 GPIO(七,GPIO开发模型 一)
目录 一,开发模型 二,初始化函数 2.1 时钟使能 一,开发模型 通常我们在进行GPIO相关外设的开发时,往往遵循下面4个步骤,如下: 初始化函数 用于进行时钟设置、参数设置、IO设置、中断设置等。读处理函数 用于从外设读取数据。写处理函数 用于从向外设写数据。中断处理…...
Webpack Tree Shaking 技术原理及应用实战,优化代码,精简产物
前言 在前端开发中,优化代码体积和提升应用性能是至关重要的课题。Webpack 提供了多种优化手段来帮助开发者实现这一目标,Tree Shaking 就是其中一种非常重要的优化技术,它通过在编译阶段移除未被使用的代码模块,从而显著减小最终…...
angular19-官方教程学习
周日了解到angular已经更新到19了,想按官方教程学习一遍,工欲善其事必先利其器,先更新工具: 安装新版版本 卸载老的nodejs 20.10.0,安装最新的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 内存持续上涨问题
问题背景: 业务量不大,Mysql 内存持续上涨,虽然不是很明显,但随着时间慢慢增长,1~2个月左右内存达到80%一旦有一些执行缓慢的sql 内存会快速上去增加/修改大表的字段内存会快速上去 常规操作: Mysql 设置…...
Qt 小项目 学生管理信息系统
主要是对数据库的增删查改的操作 登录/注册界面: 主页面: 添加信息: 删除信息: 删除第一行(支持多行删除) 需求分析: 用QT实现一个学生管理信息系统,数据库为MySQL 要求…...
16-01、JVM系列之:内存与垃圾回收篇(一)
JVM系列之:内存与垃圾回收篇(一) ##本篇内容概述: 1、JVM结构 2、类加载子系统 3、运行时数据区之:PC寄存器、Java栈、本地方法栈一、JVM与JAVA体系结构 JAVA虚拟机与JAVA语言并没有必然的联系,它只是与特…...
聊聊系统的弹力设计-服务器性能指标篇(一)
一、什么是弹性机制 弹性,大家可以轻易的联想到橡胶,可伸缩性是弹性机制的一个很重要的特点,但是实际上弹性不等同于可伸缩性 弹性(Elasticity) 通常指的是系统能够自动适应负载的变化,即自动扩展和收缩资…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
