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

刷题记录(2023-08-12)

1. 小美的排列询问

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

AC代码:

#include <iostream>
#include <vector>
using namespace std;int main() {int n;cin >> n;vector<int> nums(n);int a, b;for (int i = 0; i < n; i++) {cin >> nums[i];}cin >> a >> b;for (int i = 0; i < n; i++) {if (nums[i] == a) {if (i - 1 > 0 && nums[i - 1] == b) {cout << "Yes";return 0;}if (i + 1 < n && nums[i + 1] == b) {cout << "Yes";return 0;}}}cout << "No";return 0;
}
// 64 位输出请用 printf("%lld")

在这里插入图片描述

2. 小美走公路

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
AC代码:

#include <iostream>
#include <vector>
using namespace std;int main() {int n;cin >> n;vector<int> lenRoad(n);for (int i = 0; i < n; i++) {cin >> lenRoad[i];}int x, y;cin >> x >> y;if (x > y) {swap(x, y);}long len1 = 0;long sumLen = 0;for (int i = 0; i < n; i++) {sumLen += lenRoad[i];if (i >= x - 1 && i < y - 1) {len1 += lenRoad[i];}}long len2 = sumLen - len1;cout << min(len1, len2);}
// 64 位输出请用 printf("%lld")

在这里插入图片描述

3. 小美的蛋糕切割

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

#include <iostream>
#include <vector>
using namespace std;int main() {int n, m;cin >> n >> m;vector<vector<int>> cakes(n, vector<int>(m));vector<long> rows(n);vector<long> cols(m);for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {cin >> cakes[i][j];rows[i] += cakes[i][j];cols[j] += cakes[i][j];}}for (int i = 1; i < n; i++) {rows[i] += rows[i - 1];}for (int j = 1; j < m; j++) {cols[j] += cols[j - 1];}long minVal1 = 0x3f3f3f3f;for (int i = 0; i < n - 1; i++) {int disVal = abs(rows[n - 1] - rows[i] - rows[i]);if (minVal1 > disVal) {minVal1 = disVal;}// else{//     break;// }}long minVal2 = 0x3f3f3f3f;for (int j = 0; j < m - 1; j++) {int disVal = abs(cols[m - 1] - cols[j] - cols[j]);if (minVal2 > disVal) {minVal2 = disVal;}// else{//     break;// }}cout << min(minVal1, minVal2);return 0;
}
// 64 位输出请用 printf("%lld")

有用例没过(后来发现是 1 0 10 10^{10} 1010,会超int范围,应该换成long的):

在这里插入图片描述

4. 小美的字符串变换

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

#include <iostream>
#include <string>
#include <vector>
using namespace std;class UFSets {
public:vector<int> vec;UFSets(int sz) {vec = vector<int>(sz, -1);}int Find(int x) {while (vec[x] > 0)x = vec[x];return x;}bool Union(int root1, int root2) {int r1 = Find(root1);int r2 = Find(root2);if (r1 == r2) {return false;}if (vec[r1] < vec[r2]) {vec[r2] = vec[r1] + vec[r2];vec[r1] = r2;}else {vec[r1] = vec[r1] + vec[r2];vec[r2] = r1;}return true;}
};int main() {int n;cin >> n;string str;cin >> str;int minNumSets = 0x3f3f3f3f;// x=1 与 y=1效果一致,因此y直接从2开始就好了for (int x = 1; x < n / 2; x++) {if (n % x == 0) {int y = n / x;UFSets ufs(n);for (int i = 0; i < n; i++) {int posX = i / y;int posY = i % y;// 上边if (posX - 1 >= 0 && str[(posX-1)*x+posY] == str[i]) {// 合并ufs.Union((posX - 1) * x + posY, i);}// 左边if (posY - 1 >= 0 && str[posX * x + posY - 1] == str[i]) {// 合并ufs.Union(posX * x + posY - 1, i);}}// 检查ufs中的集合数量int numSets = 0;for (int i = 0; i < ufs.vec.size(); i++) {if (ufs.vec[i] < 0) {numSets++;}}if (numSets < minNumSets) {minNumSets = numSets;}}}cout << minNumSets;return 0;
}
// 64 位输出请用 printf("%lld")

这个边界条件有点问题,后来改了,但也只过了20% = =

在这里插入图片描述

5. 小美的树上染色

在这里插入图片描述

在这里插入图片描述

#include <iostream>
#include <vector>
#include <math.h>
using namespace std;struct Node {int val;bool color;
};int main() {int n;cin >> n;vector<Node> nodes(n);for (int i = 0; i < n; i++) {cin >> nodes[i].val;nodes[i].color = false;}int a, b;int res = 0;for (int i = 0; i < n - 1; i++) {cin >> a >> b;if (!nodes[a].color && !nodes[b].color) { // 两个节点都是白色int sq = sqrt(nodes[a].val * nodes[b].val);if (sq * sq == nodes[a].val * nodes[b].val) {res += 2;nodes[a].color = true;nodes[b].color = true;}}}cout << res;
}
// 64 位输出请用 printf("%lld")

只过了10%

在这里插入图片描述

相关文章:

刷题记录(2023-08-12)

1. 小美的排列询问 AC代码&#xff1a; #include <iostream> #include <vector> using namespace std;int main() {int n;cin >> n;vector<int> nums(n);int a, b;for (int i 0; i < n; i) {cin >> nums[i];}cin >> a >> b;for…...

GPT内功心法:搜索思维到GPT思维的转换

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…...

在WebStorm中通过live-server插件搭建Ajax运行环境

1.下载node.js 官网: https://nodejs.cn/download/ 2.配置Node.js的HTTPS 使用淘宝的镜像&#xff1a; npm config set registry https://registry.npm.taobao.org 也可以使用cnpm npm install -g cnpm --registryhttps://registry.npm.taobao.org 配置之后可以验证是否成…...

侯捷 C++ part2 兼谈对象模型笔记——1 转换

1 转换 1.1 转换函数 将当前对象的类型转换成其他类型 以 operator 开头&#xff0c;函数名称为需要转成的类型&#xff0c;无参数前面不需要写返回类型&#xff0c;编译器会自动根据函数名称进行补充转换函数中&#xff0c;分子分母都没改变&#xff0c;所以通常加 const …...

尚硅谷大数据项目《在线教育之采集系统》笔记003

视频地址&#xff1a;尚硅谷大数据项目《在线教育之采集系统》_哔哩哔哩_bilibili 目录 P036 P037 P038 P039 P041 P042 P043 P044 P045 P046 P036 先启动zookeeper&#xff0c;在启动kafka&#xff0c;启动hadoop中的hdfs node003启动flume&#xff0c;node001启动f…...

PAT(Advanced Level)刷题指南 —— 第七弹

一、1012 The Best Rank 1. 问题重述 排序问题,原题叙述比较清晰,按照A > C > M > E四种排序的最高名次以及对应的排序方式输出。 2. Sample Input 5 6 310101 98 85 88 310102 70 95 88 310103 82 87 94<...

合宙Air724UG LuatOS-Air script lib API--sys

sys Table of Contents sys sys.restart sys.wait(ms) sys.waitUntil(id, ms) sys.waitUntilExt(id, ms) sys.taskInit(fun, …) sys.init(mode, lprfnc) sys.timerStop(val, …) sys.timerStopAll(fnc) sys.timerStart(fnc, ms, …) sys.timerLoopStart(fnc, ms, …) sys.time…...

MySQL建表和增添改查

1.创建一个名为mydb的数据库 mysql> show database mydb; 查询 mysql> show database mydb; 2.创建一个学生信息表 mysql> create table mydb.student_informtion( -> student_id int UNSIGNED NOT NULL PRIMARY KEY, //非空&#xff08;不允许为空&#xff0…...

@Transactional 注解下,事务失效的七种场景

此文章为笔记&#xff0c;为阅读其他文章的感受、补充、记录、练习、汇总&#xff0c;非原创&#xff0c;感谢每个知识分享者。 文章目录 1、异常被捕获后没有抛出2、抛出非运行时异常3、方法内部直接调用4、新开启一个线程5、注解到private方法上6、数据库本身不支持7、事务传…...

chrome V3 插件开发 基础

目录 准备popup通信popup 发消息给 backgroundpopup 发消息给 content长期连接 如何页面上添加一个按钮&#xff1f;tabs.onUpdatedcontent-script.jsinject.js 右键菜单chrome.contextMenus举个例子添加关于报错&#xff08;cannot create item with duplicate id XXX&#xf…...

【uniapp】uniapp自动导入自定义组件和设置分包:

文章目录 一、自动导入自定义组件&#xff1a;二、设置分包和预加载&#xff1a; 一、自动导入自定义组件&#xff1a; 【Volar 官网】https://github.com/vuejs/language-tools 二、设置分包和预加载&#xff1a; 【官方文档】https://uniapp.dcloud.net.cn/collocation…...

【深度学习MOT videos detect】Detect to Track and Track to Detect

论文&#xff1a;https://arxiv.org/abs/1710.03958 代码&#xff1a;https://github.com/feichtenhofer/Detect-Track 文章目录 Abstract1. Introduction2. Related work后面翻译略 Abstract 近期用于在视频中高精度检测和跟踪目标类别的方法越来越复杂&#xff0c;每年都变得…...

关于Neo4j的使用及其基本命令

关于Neo4j的使用 文章目录 关于Neo4j的使用1、启动方式2、创建新节点&#xff0c;节点内有属性3、创建关系4、查询节点5、查询关系6、删除两个节点的关系7、删除节点8、删除某个标签的全部关系9、某个节点添加属性10、删除节点某个属性 1、启动方式 进入bin目录&#xff1a; …...

【笔记】树状数组

【笔记】树状数组 目录 简介引入1. 直接暴力2. 维护前缀和数组总结 定义前置知识&#xff1a; lowbit ⁡ \operatorname{lowbit} lowbit 操作区间的表示方法操作单点修改前缀和查询任意区间查询 例题1: 单点修改&#xff0c;区间查询例题2: 区间修改&#xff0c;单点查询例题3:…...

vue全局组件自动注册直接使用,无需单独先引用注册再使用

目录结构&#xff1a; 本案例是在根目录下components文件夹测试的&#xff0c;文件位置项目内任意&#xff0c;确保在main.js挂载路径正确即可 1、新建文件夹&#xff08;名字随意&#xff09;zxy_components (放自己组件的地方) 2、在zxy_components文件夹下 &#xff01;新建…...

【HarmonyOS】@ohos.request 上传下载的那些事儿

【关键字】 ohos.request、上传下载​ 【写在前面】 在进行HarmonyOS应用开发时&#xff0c;可能需要进行上传或下载文件功能开发&#xff0c;本文章主要进行上传下载相关功能介绍和一些注意事项及FAQ。 【上传开发步骤】 步骤1&#xff1a;上传下载接口需要申请ohos.permis…...

github版面混乱加载不出的解决办法

最近出现打开github 界面加载不成功&#xff0c;网页访问乱码&#xff0c;打开chrome的检查发现 github的github.githubassets.com 拒绝访问&#xff0c; 解法&#xff1a; 1.先打开hosts文件所在的目录C:\Windows\System32\drivers\etc 2.右键点击hosts文件-选择用记事本或者…...

dotNet 之数据库sqlite

Sqlite3是个特别好的本地数据库&#xff0c;体积小&#xff0c;无需安装&#xff0c;是写小控制台程序最佳数据库。NET Core是同样也是.NET 未来的方向。 **硬件支持型号 点击 查看 硬件支持 详情** DTU701 产品详情 DTU702 产品详情 DTU801 产品详情 DTU802 产品详情 D…...

走近ChatGPT与类似产品:原理解析与比较

目录 1. 引言1.1 技术的进步与自然语言处理1.2 ChatGPT的崭新概念 2. ChatGPT: 一览众山小2.1 GPT-3.5架构简介2.2 ChatGPT的学习与训练2.3 文本生成的工作原理 3. 市场上类似产品调研3.1 对话式人工智能产品分类3.2 文心一言3.3 讯飞星火 4. 应用前景与局限性展望4.1 ChatGPT的…...

HarmonyOS SDK开放能力,服务鸿蒙生态建设,打造优质应用体验

华为开发者大会2023&#xff08;HDC.Together&#xff09;于8月4日至6日在东莞松山湖举行&#xff0c;在HarmonyOS端云开放能力技术分论坛上&#xff0c;华为为广大开发者们介绍了HarmonyOS SDK开放能力在基础开发架构、功能特性等方面的变化之处&#xff0c;通过将常见的通用能…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

Java 语言特性(面试系列1)

一、面向对象编程 1. 封装&#xff08;Encapsulation&#xff09; 定义&#xff1a;将数据&#xff08;属性&#xff09;和操作数据的方法绑定在一起&#xff0c;通过访问控制符&#xff08;private、protected、public&#xff09;隐藏内部实现细节。示例&#xff1a; public …...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...