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

Codeforces Round #956 (Div. 2) and ByteRace 2024

A题:Array Divisibility

思路:

大水题

code:

inline void solve() {int n; cin >> n;for (int i = 1; i <= n; i ++ ) {cout << i << " \n"[i == n];}return;
}

B题:Corner Twist 

思路:

模拟

任意一个矩形的修改,都可以下放到最小的2x2的小矩形,因此,我们只需在要修改的地方用2x2的小矩形修改即可。

code:

inline void solve() {int n, m; cin >> n >> m;vector<vector<int>> a(n + 1, vector<int>(m + 1)), b(n + 1, vector<int>(m + 1));for (int i = 1; i <= n; i ++ ) {for (int j = 1; j <= m; j ++ ) {char c; cin >> c;a[i][j] = c - '0';}}for (int i = 1; i <= n; i ++ ) {for (int j = 1; j <= m; j ++ ) {char c; cin >> c;b[i][j] = c - '0';}}function<void(int&, int)> add = [&](int &x, int c) {x = (x + c) % 3;};for (int i = 1; i <= n - 1; i ++ ) {for (int j = 1; j <= m - 1; j ++ ) {if (a[i][j] == b[i][j]) continue;int d = (b[i][j] - a[i][j] + 3) % 3;add(a[i][j], d), add(a[i + 1][j + 1], d);add(a[i + 1][j], 3 - d), add(a[i][j + 1], 3 - d);}}if (a == b) cout << "YES\n";else cout << "NO\n";return;
}

C题:Have Your Cake and Eat It Too 

思路:

贪心+二分,只是情况变多了而已。

code:

inline void solve() {int n; cin >> n;vector<vector<ll>> a(3, vector<ll>(n + 1));for (int i = 0; i < 3; i ++ ) {for (int j = 1; j <= n; j ++ ) {cin >> a[i][j];a[i][j] += a[i][j - 1];}}ll nd = (a[0][n] + 2) / 3;int cur[3] = {0, 1, 2};bool ok = false;function<bool(vector<ll>, vector<ll>, vector<ll>)> check = [&](vector<ll> a, vector<ll> b, vector<ll> c) {int l[3], r[3];l[0] = 0, r[0] = n + 1;while (l[0] + 1 != r[0]) {int mid = l[0] + r[0] >> 1;if (a[mid] < nd) l[0] = mid;else r[0] = mid;}l[0] = 1;if (r[0] >= n - 1) return false;l[1] = r[0], r[1] = n + 1;while (l[1] + 1 != r[1]) {int mid = l[1] + r[1] >> 1;if (b[mid] - b[r[0]] < nd) l[1] = mid;else r[1] = mid;}l[1] = r[0] + 1;if (r[1] >= n) return false;l[2] = r[1], r[2] = n + 1;while (l[2] + 1 != r[2]) {int mid = l[2] + r[2] >> 1;if (c[mid] - c[r[1]] < nd) l[2] = mid;else r[2] = mid;}l[2] = r[1] + 1;if (r[2] == n + 1) return false;r[2] = n;ok = true;for (int i = 0; i < 3; i ++ ) {for (int j = 0; j < 3; j ++ ) {if (cur[j] == i) {cout << l[j] << ' ' << r[j] << ' ';}}}cout << endl;return true;};do {if (check(a[cur[0]], a[cur[1]], a[cur[2]])) break;}while (next_permutation(cur, cur + 3));if (!ok) cout << -1 << endl;return;
}

相关文章:

Codeforces Round #956 (Div. 2) and ByteRace 2024

A题&#xff1a;Array Divisibility 思路&#xff1a; 大水题 code&#xff1a; inline void solve() {int n; cin >> n;for (int i 1; i < n; i ) {cout << i << " \n"[i n];}return; } B题&#xff1a;Corner Twist 思路&#xff1…...

域名、网页、HTTP概述

目录 域名 概念 域名空间结构 域名注册 网页 概念 网站 主页 域名 HTTP URL URN URI HTML 超链接 发布 HTML HTML的结构 静态网页 特点 动态网页 特点 Web HTTP HTTP方法 GET方法 POST方法 HTTP状态码 生产环境下常见的HTTP状态码 域名 概念 IP地…...

Redisson分布式锁、可重入锁

介绍Redisson 什么是 Redisson&#xff1f;来自于官网上的描述内容如下&#xff01; Redisson 是一个在 Redis 的基础上实现的 Java 驻内存数据网格客户端&#xff08;In-Memory Data Grid&#xff09;。它不仅提供了一系列的 redis 常用数据结构命令服务&#xff0c;还提供了…...

适合宠物饮水机的光电传感器有哪些

如今&#xff0c;随着越来越多的人选择养宠物&#xff0c;宠物饮水机作为一种便捷的饮水解决方案日益受到欢迎。为了确保宠物随时能够获得足够的水源&#xff0c;宠物饮水机通常配备了先进的光电液位传感器技术。 光电液位传感器在宠物饮水机中起着关键作用&#xff0c;主要用…...

『Python学习笔记』Python运行设置PYTHONPATH环境变量!

Python运行设置PYTHONPATH环境变量&#xff01; 文章目录 一. Python运行设置PYTHONPATH环境变量&#xff01;1. 解释2. 为什么有用3. 示例4. vscode配置 一. Python运行设置PYTHONPATH环境变量&#xff01; export PYTHONPATH$(pwd) 是一个命令&#xff0c;用于将当前目录添…...

2024年06月CCF-GESP编程能力等级认证Python编程三级真题解析

本文收录于专栏《Python等级认证CCF-GESP真题解析》&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 一、单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 第 1 题 小杨父母带他到某培训机构给他报名参加CCF组织的GESP认证…...

代码随想录算法训练营:20/60

非科班学习算法day20 | LeetCode235:二叉搜索树的最近公共祖先 &#xff0c;Leetcode701:二叉树的插入操作 &#xff0c;Leetcode450:删除二叉搜索树的节点 介绍 包含LC的两道题目&#xff0c;还有相应概念的补充。 相关图解和更多版本&#xff1a; 代码随想录 (programmer…...

Apache Seata应用侧启动过程剖析——RM TM如何与TC建立连接

本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 本文来自 Apache Seata官方文档&#xff0c;欢迎访问官网&#xff0c;查看更多深度文章。 Apache Seata应用侧启动过程剖析——RM & TM如何与TC建立连接 前言 看过官网 README 的第…...

Origin 的使用

官网&#xff1a;OriginLab - Origin and OriginPro - Data Analysis and Graphing Software 安装&#xff1a;Origin2022最新最详细的安装教程 学生免费&#xff1a;Origin 官方正版免费续期教程 更改语言&#xff1a;解决OriginPro2024学生版本的更改中文change language灰…...

MySQL相关知识点

目录 1. 基本概念2. 数据类型3. 数据库操作4. 表操作5. 数据操作6. 索引7. 约束8. 事务9. 存储过程和触发器10. 优化和性能调优11. 安全性12. 备份和恢复 MySQL 是一个广泛使用的 关系数据库管理系统 (RDBMS)。了解 MySQL 的主要知识点可以帮助你更好地设计、管理和优化数据库…...

第4章 Vite模块化与插件系统(二)

4.3 常用插件介绍 4.3.1 官方插件 vitejs/plugin-vue 用于支持 Vue.js 开发&#xff1a; npm install vitejs/plugin-vue --save-devimport vue from vitejs/plugin-vueexport default defineConfig({plugins: [vue()] })vitejs/plugin-react 用于支持 React 开发&#xf…...

前端传到后端的data数组中有些属性值为空

将前端输入框中的值全部放入data中传入后端&#xff0c;但是在后端查看发现后端接收到的数据有些属性值为空。 第一种情况&#xff1a;只有第一个属性为空&#xff0c;其余属性接收正常 可能原因&#xff1a;后端用来接收的 比如前端发送数据&#xff1a; 实际上前端发送的数…...

怎么批量下载网页里的图片和视频 如何批量下载一个网站的所有图片 如何批量下载网页视频文件 idm软件怎么下载

当我们在网站内需要下载大量图片时&#xff0c;一张一张的下载非常麻烦。这里推荐大家使用IDM这款网页图片下载工具。下面&#xff0c;我将介绍怎么批量下载网页里的图片和视频&#xff0c;如何批量下载一个网站的所有图片的解决方法。 一、怎么批量下载网页里的图片和视频 …...

Python面试题:在 Python 中,如何处理文件操作?

在Python中&#xff0c;文件操作&#xff08;如读取和写入文件&#xff09;是一个常见的任务。Python标准库提供了内置的函数和上下文管理器来简化文件操作。以下是处理文件操作的一些基本方法和示例&#xff1a; 打开和关闭文件 使用open()函数打开文件。该函数返回一个文件…...

红日靶机1

靶场环境 使用kali攻击web服务器&#xff0c;然后根据web服务器攻击其他域内的机器 这里很明确kali是攻击机&#xff0c;外网机器&#xff0c;局域网中的win7是web服务器&#xff0c;有2个网卡&#xff0c;通内网和外网&#xff0c;2k3以及2008r2是内网机器&#xff0c;不出网&…...

Windows电脑PC使用adb有线跟无线安装apk包

在Android开发中&#xff0c;经常需要使用ADB&#xff08;Android Debug Bridge&#xff09;来安装APK包到Android设备上&#xff0c;无论是通过有线连接还是无线连接。以下将分别介绍如何通过有线和无线方式使用ADB安装APK包。 有线连接安装APK 启用开发者选项和USB调试&…...

如何把harmonos项目修改为openharmony项目

一开始分不清harmonyos和openharmony&#xff0c;在harmonyos直接下载的开发软件&#xff0c;后面发现不对劲&#xff0c;打脑阔 首先你要安装对应版本的开发软件&#xff0c;鸿蒙开发是由harmonyos和openharmony官网两个的&#xff0c;找到对应的地方下载对应版本的开发软件&…...

【QT】Qt智能指针QPointer、QSharedPointer、QWeakPointer、QScopedPointer

QPointer QPointer can only point to QObject instances. It will be automatically set to nullptr if the pointed to object is destroyed. It is a weak pointer specialized for QObject. QPointer只能指向QObject实例。如果指向的对象被销毁&#xff0c;它将自动设置为 …...

设计模式探索:建造者模式

1. 什么是建造者模式 建造者模式 (Builder Pattern)&#xff0c;也被称为生成器模式&#xff0c;是一种创建型设计模式。 定义&#xff1a;将一个复杂对象的构建与表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 建造者模式要解决的问题&#xff1a; 建造者模…...

[Go] 字符串遍历数据类型问题

字符串遍历问题 在使用for i,v:range str遍历字符串时 str[i]是unit8&#xff08;byte&#xff09;类型&#xff0c;返回的是单个字节 字符串在Go中是以字节序列的形式存储的&#xff0c;而 str[i] 直接访问了这个字节序列中的第 i 个字节。如果字符串中的字符是单字节的ASCII…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)

船舶制造装配管理现状&#xff1a;装配工作依赖人工经验&#xff0c;装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书&#xff0c;但在实际执行中&#xff0c;工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

命令行关闭Windows防火墙

命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)​方法二:CMD命令…...