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

2024年睿抗机器人开发者大赛(RAICOM)国赛题解

目录

RC-u1 大家一起查作弊   分数 15

RC-u2 谁进线下了?II     分数 20

RC-u3 势均力敌     分数 25

RC-u4 City 不 City     分数 30

RC-u5 贪心消消乐    分数 30


RC-u1 大家一起查作弊   分数 15

简单模拟题,对于多行读入使用while(getline(cin,s))即可

// 数学公式要变形
// 莫急莫急先读题
#include <bits/stdc++.h>
using namespace std;
#define lowbit(x) (x&(-x))
#define endl "\n"
#define ios ios::sync_with_stdio(0); cin.tie(0),cout.tie(0);
#define LF(x)   fixed<<setprecision(x)// c++ 保留小数
#define den(a) cout << #a << " = " << a << "\n";
#define deg(a) cout << #a << " = " << a << " ";
typedef long long LL;
typedef pair<int, int> PII;
const int N=1000010,M=1010,INF=0x3f3f3f3f,mod=1e9+7;
const double pai=acos(-1.0);// pai
map<int,int> mp;
int t,n,m;//是不是关键字
bool check(char x){if('A'<=x and x<='Z') return true;if('a'<=x and x<='z') return true;if(isdigit(x)) return true;return false;
}
//可疑分数计算
int get(string s){int big = 0, small = 0, sz = 0;for(auto&x:s){if('A'<=x and x<='Z') big = 1;if('a'<=x and x<='z') small = 1;if(isdigit(x)) sz = 1;}if(big and small and sz) return 5;if(sz and (big or small)) return 3;if(big and small) return 1;return 0;
}
void solve(){int sum = 0,len = 0, cnt = 0;string s;while(getline(cin,s)){string now;for(auto&v:s)if(check(v)) now += v;else{if(!now.empty()){sum += get(now);len += now.size();cnt++;}now.clear();}// 可能最后还有东西if(!now.empty()){sum += get(now);len += now.size();cnt++;}}cout << sum << endl;cout << len << ' ' << cnt << endl;return ;
}
signed main ()
{ios// 不能有printf puts scanfint t=1;while(t--){solve();}
}

RC-u2 谁进线下了?II     分数 20

简单模拟,按照题目意思模拟即可

// 数学公式要变形
// 莫急莫急先读题
#include <bits/stdc++.h>
using namespace std;
#define lowbit(x) (x&(-x))
#define endl "\n"
#define ios ios::sync_with_stdio(0); cin.tie(0),cout.tie(0);
#define LF(x)   fixed<<setprecision(x)// c++ 保留小数
#define den(a) cout << #a << " = " << a << "\n";
#define deg(a) cout << #a << " = " << a << " ";
typedef long long LL;
typedef pair<int, int> PII;
const int N=1000010,M=1010,INF=0x3f3f3f3f,mod=1e9+7;
const double pai=acos(-1.0);// pai
map<int,int> mp;
int t,n,m;
int d[30] = {0,25,21,18,16};
bool st[N];
int w[N];struct code{int id,x;bool operator<(const code&t)const{if(x==t.x) return id<t.id;return x>t.x;}
}e[N];void solve(){for(int i=5;i<=20;i++) d[i] = 20 - i;cin>>n;while(n--){m = 20;while(m--){int x,r; cin>>x>>r;w[x] += d[r];st[x] = true;}}    n = 30;for(int i=1;i<=n;i++) e[i]={i,w[i]};sort(e+1,e+1+n);for(int i=1;i<=n;i++){auto [id,x] = e[i];if(!st[id]) continue;cout << id << ' ' << x << endl;}cout << endl;return ;
}
signed main ()
{ios// 不能有printf puts scanfint t=1;while(t--){solve();}
}

RC-u3 势均力敌     分数 25

按照题目直接暴力枚举所有情况使用全排列 + 二进制枚举

时间复杂度大致如下 同时不会跑满所以可以通过

2^{24} + C^{12}_{24} * 24

// 数学公式要变形
// 莫急莫急先读题
#include <bits/stdc++.h>
using namespace std;
#define lowbit(x) (x&(-x))
#define endl "\n"
#define ios ios::sync_with_stdio(0); cin.tie(0),cout.tie(0);
#define LF(x)   fixed<<setprecision(x)// c++ 保留小数
#define den(a) cout << #a << " = " << a << "\n";
#define deg(a) cout << #a << " = " << a << " ";
typedef long long LL;
typedef pair<int, int> PII;
const int N=1000010,M=1010,INF=0x3f3f3f3f,mod=1e9+7;
const double pai=acos(-1.0);// pai
map<int,int> mp;
int t,n,m;
int a[N],p[N];void solve(){cin>>n;for(int i=1;i<=n;i++){cin>>a[i];p[i] = i;}vector<int> v;int sum = 0;do{int ans = 0;for(int i=1;i<=n;i++) ans = ans * 10 + a[p[i]];v.push_back(ans);sum += ans;}while(next_permutation(p+1,p+1+n));m = v.size();for(int i=0;i<(1<<m);i++){if(__builtin_popcount(i)!=m/2) continue;int now = 0;vector<int> ans;for(int j=0;j<m;j++){if(i>>j&1){ans.push_back(v[j]);now += v[j];	}}if(now==sum/2){for(auto&v:ans) cout << v << endl;cout << endl;return ;}}return ;
}
signed main ()
{ios// 不能有printf puts scanfint t=1;while(t--){solve();}
}

RC-u4 City 不 City     分数 30

典型的分层图,一个城市有多个状态,跑一遍djikstra即可,注意本题是计算途经城市的hot值,所以初始状态是 d[s][0]  = 0,在可以抵达t的时候来判断即可

// 数学公式要变形
// 莫急莫急先读题
#include <bits/stdc++.h>
using namespace std;
#define lowbit(x) (x&(-x))
#define endl "\n"
#define ios ios::sync_with_stdio(0); cin.tie(0),cout.tie(0);
#define LF(x)   fixed<<setprecision(x)// c++ 保留小数
#define den(a) cout << #a << " = " << a << "\n";
#define deg(a) cout << #a << " = " << a << " ";
typedef long long LL;
typedef pair<int, int> PII;
typedef array<int,3> ar3;
const int N=1000010,M=1010,INF=0x3f3f3f3f,mod=1e9+7;
const double pai=acos(-1.0);// pai
map<int,int> mp;
int n,m,s,t;
int h[M];
vector<PII> g[M];
int d[M][110];void solve(){cin>>n>>m>>s>>t;for(int i=1;i<=n;i++) cin>>h[i];while(m--){int a,b,c; cin>>a>>b>>c;g[a].push_back({b,c});g[b].push_back({a,c});}int ans = 2e9,pos = -1;auto dijkstra = [&](){memset(d,0x3f,sizeof d);priority_queue<ar3,vector<ar3>,greater<ar3>> q;d[s][0] = 0, q.push({0,s,0});while(!q.empty()){auto [cost,u,hot] = q.top(); q.pop();for(auto&[v,w]:g[u]){int ne = max(hot,h[v]);if(v==t){if(cost+w<ans){ans = cost + w;pos = hot;}else if(cost+w==ans and hot<pos){pos = hot;}}if(d[v][ne]>cost+w){d[v][ne] = cost + w;q.push({cost+w,v,ne});}}}};dijkstra();if(pos==-1) cout << "Impossible" << endl;else cout << ans << ' ' << pos << endl;return ;
}
signed main ()
{ios// 不能有printf puts scanfint t=1;while(t--){solve();}
}

RC-u5 贪心消消乐    分数 30

贪心模拟,每次都暴力的找到可以选取的最大矩阵即可,然后模拟下降,没有找到正解,这里贴一下别人的x*(n^4)比较暴力的做法,赛时通过了

#include <bits/stdc++.h>using namespace std;
using i64 = long long;constexpr int inf = 5E6;void solve() {int n;cin >> n;vector<vector<int>> g(n, vector<int>(n, 0));for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {cin >> g[i][j];if (g[i][j] == 0) {g[i][j] = -inf;}}}vector<vector<i64>> sum(n + 1, vector<i64>(n + 1, 0));for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {sum[i + 1][j + 1] = sum[i + 1][j] + sum[i][j + 1] - sum[i][j] + g[i][j];}}i64 tot = 0;while (1) {i64 hi = 0;int a, b, c, d;for (int x1 = 0; x1 < n; x1++) {for (int y1 = 0; y1 < n; y1++) {for (int x2 = x1; x2 < n; x2++) {for (int y2 = y1; y2 < n; y2++) {if (g[y2][x2] == -inf) {break;}i64 cur = sum[y2 + 1][x2 + 1] - sum[y2 + 1][x1] - sum[y1][x2 + 1] + sum[y1][x1];if (cur > hi) {hi = cur;a = x1;b = y1;c = x2;d = y2;}if (cur < 0) {break;}}}}}if (hi <= 0) {break;}tot += hi;cout << "(" << a + 1 << ", " << b + 1 << ") (" << c + 1 << ", " << d + 1 << ") " << hi << "\n";int o = d - b + 1;for (int x = a; x <= c; x++) {for (int y = d; y >= 0; y--) {if (y >= o) {g[y][x] = g[y - o][x];} else {g[y][x] = -inf;}}}for (int i = 0; i <= n; i++) {fill(sum[i].begin(), sum[i].end(), 0);}for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {sum[i + 1][j + 1] = sum[i + 1][j] + sum[i][j + 1] - sum[i][j] + g[i][j];}}}cout << tot << "\n";
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int T = 1;
//	cin >> T;while (T--) {solve();}return 0;
}

相关文章:

2024年睿抗机器人开发者大赛(RAICOM)国赛题解

目录 RC-u1 大家一起查作弊 分数 15 RC-u2 谁进线下了&#xff1f;II 分数 20 RC-u3 势均力敌 分数 25 RC-u4 City 不 City 分数 30 RC-u5 贪心消消乐 分数 30 RC-u1 大家一起查作弊 分数 15 简单模拟题&#xff0c;对于多行读入使用while(getline(cin…...

声明式UI语法

一、ArkTS的基本组成 Entry // 装饰器 Component // 装饰器 struct Hello { // 自定义组件State myText: string World;build() { // UI描述Column() { // 系统组件Text(Hello ${this.myText}).fontSize(50)Divider()Button(Click me).onClick(() > { // 事件方法t…...

JDBC连接数和1521连接数之间的区别和联系(Java Database Connectivity)

JDBC&#xff08;Java Database Connectivity&#xff09;连接数和1521连接数之间的区别和联系如下&#xff1a; 区别 概念不同&#xff1a; JDBC连接数&#xff1a;指通过JDBC技术建立的数据库连接数。JDBC是Java中的一套API&#xff0c;用于连接和操作关系数据库。JDBC连接数…...

Leetcode - 136双周赛

目录 一&#xff0c;3238. 求出胜利玩家的数目 二&#xff0c;3239. 最少翻转次数使二进制矩阵回文 I 三&#xff0c;3240. 最少翻转次数使二进制矩阵回文 II 四&#xff0c;3241. 标记所有节点需要的时间 一&#xff0c;3238. 求出胜利玩家的数目 本题直接暴力求解&#x…...

SQLite ORDER BY 语句

SQLite ORDER BY 语句 SQLite 的 ORDER BY 语句用于对查询结果进行排序。排序可以是升序&#xff08;ASC&#xff09;或降序&#xff08;DESC&#xff09;。默认情况下&#xff0c;如果不指定排序方式&#xff0c;ORDER BY 会以升序对结果进行排序。 语法 SQLite ORDER BY 语…...

MTK Android12 系统中应用加载 .so 文件的问题分析

在本篇博客中,我将详细总结在 Android 12 系统上进行的几个实验,包括如何加载自定义 JAR 文件、如何解压和确认 .so 文件,以及如何验证系统报错提示。本文将介绍使用 PathClassLoader 和 DexClassLoader 动态加载类的实验,分析系统报错信息,并最终得出结论。 推荐:《Andr…...

bpmn简单使用(制作流程图)

1、先下载依赖&#xff0c;下面是我下载的版本 "bpmn-io/properties-panel": "^3.23.0", "bpmn-js": "^17.9.1", "bpmn-js-properties-panel": "^5.6.1", "camunda-bpmn-moddle": "^7.0.1",…...

【算法模板】算竞技巧:Python对拍数据生成

在计算机编程竞赛中&#xff0c;对拍&#xff08;Testlib&#xff09;是一种验证程序正确性的方法。它通常用于检查一个程序的输出是否与另一个程序的输出一致&#xff0c;以确保程序的正确性。 对拍程序 【算法模板】算竞技巧&#xff1a;对拍全解_算法竞赛对拍-CSDN博客 #i…...

计算机基本理论与程序运行原理概述

目录 计算机的基本表示方法 计算机的组成 程序运行的原理 指令执行的流水线 编译原理 个人理解 面试题总结 计算机的基本表示方法 计算机系统使用高、低电平来表示逻辑1和0。数据在计算机中的存储、传输和处理均以二进制形式进行。数据通过总线作为电信号进行传输&…...

SpringBoot中的server.context-path

目录 一、问题引入 二、代码片段展示 2.1.接口层 2.2.application.properties 三、问题分析 3.1.server.context-path 作用 3.2.正确展示 四、HTTP请求响应码简介 4.1.响应码参考来源 4.2.源码示例 4.2.1.源码总述 4.2.2.正常情况——2XX: generally "OK&…...

AI绘画绘画 Stable Diffusion ,从零开始轻松变现,AI绘画副业创收指南,一天一个AI帮你赚钱小技巧!

大家好&#xff0c;我是灵魂画师向阳 通过长达几个月的AI绘画Stable Diffusion 系统教程&#xff0c;相信大家已经对AI绘画有了一个大概的认知。最近就有很多粉丝总是问我&#xff0c;AI绘画学会后如何进行变现&#xff0c;或者是做副业呢&#xff1f; 那今天我就分享一些目前…...

阿里云镜像站,提供了各种第三方镜像地址

阿里云提供了各项镜像缓存地址&#xff0c;对于很多国外服务的地址&#xff0c;通过阿里云缓存的地址去下载&#xff0c;速度会非常快。 如下&#xff0c;打开阿里云官方网站&#xff1a; 进入“镜像站”&#xff0c;如下图所示&#xff1a; 有我们常用的 npm、maven、操作系统…...

stm32入门学习11-硬件I2C和MPU

&#xff08;一&#xff09;I2C硬件电路 stm32内部有I2C的硬件电路&#xff0c;我们可以使用stm32的标准库函数来实现I2C&#xff0c;这可以为我们减少对软件资源的占用 I2C硬件电路常用的标准库函数 void I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct); /…...

如何在C++、PHP、GO中使用AI生成PPT API接口

在当今快节奏的商业环境中&#xff0c;演示文稿的制作不仅需要快速&#xff0c;还需要具有吸引力和专业性。AI生成PPT API 服务提供了一种创新的解决方案&#xff0c;能够根据用户提供的内容自动生成演示文稿&#xff0c;极大地提高了效率和质量。本文将详细介绍AI生成PPT的优势…...

力扣面试150 逆波兰表达式求值 栈 模拟栈

Problem: 150. 逆波兰表达式求值 &#x1f468;‍&#x1f3eb; 参考题解 class Solution {//纯数组模拟栈实现(推荐) 3 ms 36 MBpublic static int evalRPN(String[] tokens) {int[] numStack new int[tokens.length / 2 1];int index 0;for (String s : tokens) {swit…...

动手学深度学习V2每日笔记(深度卷积神经网络AlexNet)

本文主要参考沐神的视频教程 https://www.bilibili.com/video/BV1h54y1L7oe/spm_id_from333.788.recommend_more_video.0&vd_sourcec7bfc6ce0ea0cbe43aa288ba2713e56d 文档教程 https://zh-v2.d2l.ai/ 本文的主要内容对沐神提供的代码中个人不太理解的内容进行笔记记录&…...

室内定位:紧耦合的学习惯性里程 (TLIO)

a### TLIO论文解读:紧耦合的学习惯性测程 (TLIO) 在惯性测量单元 (IMU) 领域,如何在短时间内精确地估计位置和姿态一直是一个挑战。最近,论文《TLIO: Tight Learned Inertial Odometry》提出了一种创新的方法,通过将深度学习与扩展卡尔曼滤波器 (EKF) 紧密结合,来解决这一…...

【面试之算法篇】寻找二叉树中两个节点的最低公共祖先

题目 给定一个树的根节点root和两个子节点a,b,返回二叉树中两个节点的最低公共祖先。二叉树每个节点的值都是不同的整数 10060 12040 null 4 74和7的最低公共祖先是120,60和40的最低公共祖先是60 思路 两个节点的祖先会有多个,只有是祖先的节点才有可能会是最低公共…...

使用Unity开发编辑系统时复制物体的一些细节问题

首先是复制一个GameObject时组件中的变量内容的复制问题&#xff0c;这个在Unity复制对象时让私有变量也被复制的简单方法这篇博客里面做了说明&#xff0c;但是其实还有一个问题&#xff0c;就是有些时候需要被复制的物体在刚创建出来的时候需要自动执行一些操作&#xff0c;这…...

【C++】模版初阶+STL简介

&#x1f680;个人主页&#xff1a;奋斗的小羊 &#x1f680;所属专栏&#xff1a;C 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 前言&#x1f4a5;1、函数模版&#x1f4a5;1.1 函数模板概念&#x1f4a5;1.2 函数模板格式&#x1f4a5;1…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天&#xff0c;软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件&#xff0c;这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下&#xff0c;实现高效测试与快速迭代&#xff1f;这一命题正考验着…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架&#xff0c;并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下&#xff0c;重新定义算法中的某些步骤。简单来说&#xff0c;就是在一个方法中定义了要执行的步骤顺序或算法框架&#xff0c;但允许子类…...