2024 睿抗機器人開發者大賽CAIP-編程技能賽-專科組(國賽)解題報告 | 珂學家


前言

在這里插入圖片描述


題解

2024 睿抗機器人開發者大賽CAIP-編程技能賽-專科組(國賽),陳越姐姐出題。

國賽比省賽,難度增強了不少,題目就剩下4個題了。

涉及堆棧,hash表,優先隊列等高階數據結構的使用,也有搜索等算法的使用。

在這里插入圖片描述


RC-v1 簡版2048

分值: 20

思路: 棧的使用

在這里插入圖片描述
一維2048游戲,需要注意級聯反應, 退出條件

#include <bits/stdc++.h>using namespace std;int main() {int n, m;cin >> n >> m;vector<int> stk;for (int i = 0; i < n; i++) {int v; cin >> v;// 級聯反應while (!stk.empty() && stk.back() == v) {stk.pop_back();v++;}if (stk.size() < m) stk.push_back(v);else break;  // 這個break很關鍵}for (int i = 0; i < stk.size(); i++) {cout << stk[i] << " \n"[i == stk.size() - 1];}return 0;
}

RC-v2 為 i 做 e

分值: 25分

思路:模擬 + hash表運用

#include <bits/stdc++.h>using namespace std;int main() {int n;cin >> n;map<string, int> mp;for (int i = 0; i < n; i++) {string s, x;cin >> s >> x;mp[s] = (x[0] == 'i' ? 0 : 1);}vector<int> ans;int m;cin >> m;for (int i = 0; i < m; i++) {int k; cin >> k;int acc = 0;for (int j = 0; j < k; j++) {string s;cin >> s;acc += mp[s];}if (acc == 0) ans.push_back(i + 1);}if (ans.empty()) cout << "None" << endl;else {for (int i = 0; i < ans.size(); i++) {cout << ans[i] << " \n"[i== ans.size() - 1];}}return 0;
}

RC-v3 乘法小宇宙

分值: 25分

思路: 搜索

在這里插入圖片描述

從圖中挖掘限制條件:

  1. a有n位
  2. b是2位
  3. c是n+1位
  4. d是n+1位
  5. p是n+2位

同時abcdp都是基于s集合

因為集合s最多5個元素,因此可以暴力全枚舉,即 O ( 5 10 < 1 0 7 ) O(5^{10}<10^7) O(510<107)

#include <bits/stdc++.h>using namespace std;bool check(int64_t v, vector<int> &vis) {while (v > 0) {int r = (int)(v % 10);if (vis[r] == 0) return false;v /= 10;}return true;
}bool check2(int64_t v, int n) {int cnt = 0;while (v > 0) {v /= 10;cnt++;}return cnt == n;
}int n, k;
vector<int> s;
vector<int> vis(10);
vector<array<int, 2>> bs;vector<array<int, 2>> res;void dfs(int i, int av) {if (i == n) {for (auto &e: bs) {int64_t cv = (int64_t)av * e[1];int64_t dv = (int64_t)av * e[0];if (check(cv, vis) && check2(cv, n + 1) && check(dv, vis) && check2(dv, n + 1) && check(dv * 10 + cv, vis) && check2(dv * 10 + cv, n + 2)) {res.push_back({av, e[0] * 10 + e[1]});}}return;} for (int &v: s) {dfs(i + 1, av * 10 + v);}
}int main() {cin >> n >> k;for (int i = 0; i < k; i++) {int v;cin >> v;vis[v] = 1;s.push_back(v);}sort(s.begin(), s.end());for (auto &b1: s) {for (auto &b2: s) {bs.push_back({b1, b2});}}dfs(0, 0);if (res.empty()) {cout << "No Solution\n";} else {for (auto &e: res) {cout << e[0] << " " << e[1] << "\n";}}return 0;
}

RC-v4 實時中位線

分值: 30分

思路: 對頂堆

這是對頂堆的板子題,不過其值域被范圍被限定100,其實是道值域統計題

#include <bits/stdc++.h>using namespace std;int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr);int n;cin >> n;// 利用對頂堆來實現吧priority_queue<int, vector<int>, less<int>> pq1;priority_queue<int, vector<int>, greater<int>> pq2;for (int i = 0; i < n; i++) {int v;cin >> v;if (i % 2 == 0) {if (!pq2.empty() && pq2.top() < v) {pq1.push(pq2.top()); pq2.pop();pq2.push(v);} else {pq1.push(v);    }cout << pq1.top() << ".0" << '\n';} else {if (!pq1.empty() && pq1.top() > v) {pq2.push(pq1.top()); pq1.pop();pq1.push(v);} else {pq2.push(v);}cout << fixed << setprecision(1) <<  (pq1.top() + pq2.top()) / 2.0 << '\n';}}return 0;
}

寫在最后

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/905752.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/905752.shtml
英文地址,請注明出處:http://en.pswp.cn/news/905752.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

15 C 語言字符類型詳解:轉義字符、格式化輸出、字符類型本質、ASCII 碼編程實戰、最值宏匯總

1 字符類型概述 在 C 語言中&#xff0c;字符類型 char 用于表示單個字符&#xff0c;例如一個數字、一個字母或一個符號。 char 類型的字面量是用單引號括起來的單個字符&#xff0c;例如 A、5 或 #。 當需要表示多個字符組成的序列時&#xff0c;就涉及到了字符串。在 C 語言…

操作系統-鎖/內存/中斷/IO

文章目錄 鎖自旋鎖互斥鎖悲觀鎖和樂觀鎖 內存管理物理/虛擬內存頁表段表虛擬內存布局寫時復制copy on writebrk&#xff0c;mmap頁面置換算法 中斷中斷分類中斷流程 網絡I/OI/O模型服務器處理并發請求 鎖 自旋鎖 自旋鎖是一種基于忙等待&#xff08;Busy-Waiting&#xff09;…

割點與其例題

割點 定義&#xff1a; 若一個點在圖中被去掉后&#xff0c;圖的連通塊個數增加&#xff0c;那么這個點就被稱為“割點”。如下圖所示紅點。 定義說白了就是若去掉一個點&#xff0c;圖被“斷開”的點稱為割點。 樸素算法&#xff1a; 枚舉每個點 u。遍歷圖&#xff0c;如果…

圖卷積神經網絡(Graph Convolutional Network, GCN)

最近看論文看到了圖卷積神經網絡的內容&#xff0c;之前整理過圖神經網絡的內容&#xff0c;這里再補充一下&#xff0c;方便以后查閱。 圖卷積神經網絡&#xff08;Graph Convolutional Network, GCN&#xff09; 圖卷積神經網絡1. 什么是圖卷積神經網絡&#xff08;GCN&#…

安裝win11硬盤分區MBR還是GPT_裝win11系統分區及安裝教程

最近有網友問我,裝win11系統分區有什么要求裝win11系統硬盤分區用mbr還是GPT&#xff1f;我們知道現在的引導模式有uefi和legacy兩種引導模式&#xff0c;如果采用的是uefi引導模式&#xff0c;分區類型對應的就是gpt分區(guid)&#xff0c;如果引導模式采用的是legacy&#xf…

服務培訓QDA 的安裝調試方法,硬件模塊的講解和軟件控制臺使用及系統測試

#服務培訓##質譜儀##軟件控制##硬件模塊# 以下是關于Waters QDa單桿液質質譜儀的安裝調試、硬件模塊講解以及軟件控制臺使用培訓的相關內容&#xff1a; 安裝調試 場地準備&#xff1a;用戶需要提前準備好實驗室&#xff0c;確保實驗室環境符合儀器的要求&#xff0c;如溫度、…

在K8S集群中部署EFK日志收集

目錄 引言環境準備安裝自定義資源部署ElasticsearchMaster 節點與 Data 節點的區別生產優化建議安裝好以后測試ES是否正常部署Fluentd測試filebeat是否正常推送日志部署Kibana獲取賬號密碼&#xff0c;賬號是&#xff1a;elastic集群測試 引言 系統版本為 Centos7.9內核版本為…

polarctf-web-[rce1]

考點&#xff1a; (1)RCE(exec函數) (2)空格繞過 (3)執行函數(exec函數) (4)閉合(ping命令閉合) 題目來源&#xff1a;Polarctf-web-[rce1] 解題&#xff1a; 這段代碼實現了一個簡單的 Ping 測試工具&#xff0c;用戶可以通過表單提交一個 IP 地址&#xff0c;服務器會執…

【串流VR手勢】Pico 4 Ultra Enterprise 在 SteamVR 企業串流中無法識別手勢的問題排查與解決過程(Pico4UE串流手勢問題)

寫在前面的話 此前&#xff08;用Pico 4U&#xff09;接入了MRTK3&#xff0c;現項目落地需要部署&#xff0c;發現串流場景中&#xff0c;Pico4UE的企業串流無法正常識別手勢。&#xff08;一體機方式部署使用無問題&#xff09; 花了半小時解決&#xff0c;怕忘&#xff0c;…

ES(Elasticsearch)的應用與代碼示例

Elasticsearch應用與代碼示例技術文章大綱 一、引言 Elasticsearch在現代化應用中的核心作用典型應用場景分析&#xff08;日志分析/全文檢索/數據聚合&#xff09; 二、環境準備(前提條件) Elasticsearch 8.x集群部署要點IK中文分詞插件配置指南Ingest Attachment插件安裝…

臨床決策支持系統的提示工程優化路徑深度解析

引言 隨著人工智能技術在醫療領域的迅猛發展,臨床決策支持系統(CDSS)正經歷從傳統規則引擎向智能提示工程的范式轉變。在這一背景下,如何構建既符合循證醫學原則又能適應個體化醫療需求的CDSS成為醫學人工智能領域的核心挑戰。本報告深入剖析了臨床決策支持系統中提示工程的…

火山RTC 8 SDK集成進項目中

一、SDK 集成預備工作 1、SDK下載 https://www.volcengine.com/docs/6348/75707 2、解壓后 3、放在自己項目中的位置 1&#xff09;、include 2&#xff09;、lib 3)、dll 暫時&#xff0c;只需要VolcEngineRTC.dll RTCFFmpeg.dll openh264-4.dll&#xff0c; 放在intLive2…

OkHttp用法-Java調用http服務

特點&#xff1a;高性能&#xff0c;支持異步請求&#xff0c;連接池優化 官方文檔&#xff1a;提供快速入門指南和高級功能&#xff08;如攔截器、連接池&#xff09;的詳細說明&#xff0c;GitHub倉庫包含豐富示例。 社區資源&#xff1a;中文教程豐富&#xff0c;GitHub高…

python中常用的參數以及命名規范

以下是 Python 中常見的命名規范、參數用法及在大型項目中常用的操作模式&#xff0c;供記錄參考&#xff1a; 1. 命名規范&#xff08;Naming Conventions&#xff09; 前綴/形式含義示例_age單下劃線&#xff1a;弱“私有”標記&#xff08;可訪問但不建議外部使用&#xff…

第五十七篇 Java接口設計之道:從咖啡機到智能家居的編程哲學

目錄 引言&#xff1a;生活中的接口無處不在一、咖啡機與基礎接口&#xff1a;理解抽象契約1.1 咖啡制作的標準接口 二、智能家居與策略模式&#xff1a;靈活切換實現2.1 溫度調節策略場景 三、物流系統與工廠模式&#xff1a;標準接口下的多樣實現3.1 快遞運輸接口設計 四、健…

第二十六天打卡

全局變量 global_var 全局變量是定義在函數、類或者代碼塊外部的變量&#xff0c;它在整個程序文件內都能被訪問。在代碼里&#xff0c; global_var 就是一個全局變量&#xff0c;下面是相關代碼片段&#xff1a; print("\n--- 變量作用域示例 ---") global_var …

聯合查詢

目錄 1、笛卡爾積 2、聯合查詢 2.1、內連接 2.2、外連接 1、笛卡爾積 笛卡爾積&#xff1a; 笛卡爾積是讓兩個表通過排列組合的方式&#xff0c;得到的一個更大的表。笛卡爾積的列數&#xff0c;是這兩個表的列數相加&#xff0c;笛卡爾積的行數&#xff0c;是這兩個表的行…

【HTML5學習筆記2】html標簽(下)

1表格標簽 1.1表格作用 顯示數據 1.2基本語法 <table><tr> 一行<td>單元格1</td></tr> </table> 1.3表頭單元格標簽 表頭單元格會加粗并且居中 <table><tr> 一行<th>單元格1</th></tr> </table&g…

window 顯示驅動開發-分頁視頻內存資源

與 Microsoft Windows 2000 顯示驅動程序模型不同&#xff0c;Windows Vista 顯示驅動程序模型允許創建比可用物理視頻內存總量更多的視頻內存資源&#xff0c;然后根據需要分頁進出視頻內存。 換句話說&#xff0c;并非所有視頻內存資源都同時位于視頻內存中。 GPU 的管道中可…

《C 語言指針高級指南:字符、數組、函數指針的進階攻略》

目錄 一. 字符指針變量 二. 數組指針變量 三. 二維數組傳參 3.1 二維數組的本質 3.2 訪問方式與地址計算 3.3 二維數組的傳參方式 3.4 深入解析 *(*(arri)j) 與 arr[i][j] 的等價性 四. 函數指針變量 4.1 函數指針變量的創建 4.2 函數指針變量的使用 4.3 兩段"…