2025藍橋省賽c++B組第二場題解

前言

這場的題目非常的簡單啊,至于為什么有第二場,因為當時河北正在刮大風被迫停止了QwQ,個人感覺是歷年來最簡單的一場,如果有什么不足之處,還望補充。

試題 A: 密密擺放

【問題描述】
小藍有一個大箱子,內部的長寬高分別是 200 、250 、240 (單位:毫米),
他要用這個大箱子來放一些同樣大小的小盒子,小盒子的外部長寬高分別是
30、40、50 (單位:毫米)。小盒子允許從各個方向旋轉(包括可以平放和倒
放)。
請問小藍最多可以在一個大箱子里面放多少個小盒子。
【答案提交】
這是一道結果填空題,你只需要算出結果后提交即可。本題的結果為一個
整數,在提交答案時只填寫這個整數,填寫多余的內容將無法得分。

答案:

200

試題 B: 脈沖強度之和

【問題描述】
在藍橋電子工坊,工程師小藍正在設計一款智能脈沖生成器,用于驅動一
種新型設備。該設備的運行依賴于特定的脈沖強度,用正整數 p 表示,其必須
滿足以下三個條件:

  1. 可由連續 10 個正整數之和組成:即存在一個正整數 k ,使得脈沖強度
    p = k + (k + 1) + (k + 2) + · · · + (k + 9) 。
  2. 各個數位上的數字都相同:例如 1111 、22222 、333333 等。
  3. 數值不超過 20255202:即 1 ≤ p ≤ 20255202。
    通過計算所有符合條件的脈沖強度之和,小藍能夠優化設備運行模式。對
    此,請幫助他計算這一總和。

答案:

55 + 555 + 5555 + 55555 + 555555 +5555555 = 6172830

試題 C: 25 之和

【問題描述】
小藍最近對求和很著迷,給定一個正整數 n ,他想求從 n 開始的連續 25
個整數的和,即 n + (n + 1) + (n + 2) + · · · + (n + 24) ,請幫幫他吧。
【輸入格式】
輸入一行包含一個正整數 n 。
【輸出格式】
輸出一行包含一個整數表示答案。
【樣例輸入 1】
1
【樣例輸出 1】
325
【樣例輸入 2】
100
【樣例輸出 2】
2800
【評測用例規模與約定】
對于 40% 的評測用例,1 ≤ n ≤ 100 ;
對于所有評測用例,1 ≤ n ≤ 10000 。

答案:

應該沒什么好講的吧~

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N = 1e5 + 10;int ans =0 ;signed main() {int n;cin >> n;ans = 300 + 25 * n;cout << ans;return 0;
}

試題 D: 旗幟

【問題描述】
小藍要畫一個 LANQIAO 圖形,并把這個圖形做成一個旗幟。圖形的形狀
為一個 h×w 的矩形,其中 h 表示圖形的高,w 表示圖形的寬。當 h = 5,w = 10
時,圖形如下所示:
LANQIAOLAN
ANQIAOLANQ
NQIAOLANQI
QIAOLANQIA
IAOLANQIAO
圖形的規律是:第一行用 LANQIAO 重復填入,第二行開始,每行向左移
動一個字符,用 LANQIAO 重復填入。
小藍需要把圖形中的每個字母都剪出來,以粘貼到旗幟上,他想知道,給
定圖形的高和寬,圖形中有多少個 A 。
【輸入格式】
輸入的第一行包含兩個正整數 h,w ,用一個空格分隔。
【輸出格式】
輸出一行包含一個整數表示答案。
【樣例輸入】
5 10
【樣例輸出】
14
【評測用例規模與約定】
對于 30% 的評測用例,h = 1 ,1 ≤ w ≤ 20 ;
對于 60% 的評測用例,1 ≤ h,w ≤ 20 ;
對于所有評測用例,1 ≤ h,w ≤ 100 。

答案:

數據量很少,不用想太復雜,直接暴力即可。

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N = 1e5 + 10;int ans =0 ;
int n, m;signed main() {cin >> n >> m;string s = "LANQIAO";for (int i = 0; i <n;i++) {int pre = i % 7;for (int j =0;j<m;j++){if (pre == 7) pre = 0;if (s[pre] == 'A') ans++;pre++;}}cout << ans;return 0;
}

試題 E: 數列差分

【問題描述】
小藍有兩個長度均為 n 的數列 A = {a1, a2, · · · , an} 和 B = {b1, b2, · · · , bn} ,將兩個數列作差定義為 C = A ? B = {c1 = a1 ? b1, c2 = a2 ? b2, · · · , cn = an ? bn}。
小藍將對數列 B 進行若干次操作,每次操作可以將數列 B 中的任意一個數更改
為任意一個整數。在進行完所有操作后,小藍可以按任意順序將數列 B 重排,
之后再計算數列 C 。小藍想知道,最少操作多少次可以使得數列 C 中的所有數
都為正整數。
【輸入格式】
輸入的第一行包含一個正整數 n ;
第二行包含 n 個整數 a1, a2, · · · , an ,相鄰整數之間使用一個空格分隔。
第三行包含 n 個整數 b1, b2, · · · , bn ,相鄰整數之間使用一個空格分隔。
【輸出格式】
輸出一行包含一個整數表示答案。
【樣例輸入】
4
22 31 12 14
3 19 27 44
【樣例輸出】
1
【樣例說明】
其中一種方案:將 44 改為 0 ,重新排列 B 為 {19, 27, 3, 0} ,使得數列
C = {3, 4, 9, 14} 均為正整數。
【評測用例規模與約定】
對于 30% 的評測用例,n ≤ 10 ;
對于所有評測用例,1 ≤ n ≤ 105 ,?109 ≤ ai ≤ 109 ,?109 ≤ bi ≤ 109 。

答案:

勉強算是這場的難題吧,排序+雙指針,因為b的順序可以打亂,因此a和b即使進行排序操作也不會影響結果。

然后在a中尋找比b的數大的值,如果當前這個a不是說明這個值需要調整。

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N = 1e5 + 10;int ans =0 ;
int n, m;
int a[N], b[N];signed main() {cin >> n;for (int i = 0; i < n; i++) {cin >> a[i];}for (int i = 0; i < n; i++) {cin >> b[i];}sort(a, a + n);sort(b, b + n);int idx = 0;for (int i = 0; i < n;i++) {if (a[i] > b[idx]) {idx++;}else {ans++;}}cout << ans;return 0;
}

試題 F: 樹上尋寶

【問題描述】
小藍正在一棵含有 n 個結點的樹的根結點 1 上,他準備在這棵樹上尋寶。
結點 i 上有一個物品,價值為 wi 。然而,小藍每次尋寶只能從根節點出發走不
超過 k 步,每步只能選擇走 1 條邊或者 2 條邊,之后會自動拾取最終停留的結
點上的物品并被傳送回根結點。請求出小藍最終能獲得的物品的總價值。
【輸入格式】
輸入的第一行包含兩個正整數 n, k ,用一個空格分隔。
第二行包含 n 個正整數 w1,w2, · · · ,wn ,相鄰整數之間使用一個空格分隔。
接下來 n ? 1 行,每行包含兩個正整數 ui
, vi ,用一個空格分隔,表示結點
ui 和結點 vi 之間有一條邊。
【輸出格式】
輸出一行包含一個整數表示答案。
【樣例輸入】
8 2
6 3 3 1 5 4 3 4
1 2
2 3
2 4
4 5
5 6
6 7
7 8

【樣例輸出】
22
【樣例說明】
走 0 步能到的結點:1 ;
走 1 步能到的結點:2, 3, 4 ;
走 2 步能到的結點:3, 4, 5, 6 ;
因此能到的結點為:1, 2, 3, 4, 5, 6 ,能獲得的總價值為 22 。
【評測用例規模與約定】
對于 20% 的評測用例,1 ≤ n ≤ 15 ;
對于所有評測用例,0 ≤ k < n ≤ 105 ,1 ≤ wi ≤ 106 ,1 ≤ ui, vi ≤ n 。

答案:

一個簡單的搜索,注意考慮k為0的情況。
此外一定要存雙向邊,因為他題目里面寫的是存在一條路徑,而不是誰是誰的子節點,我有幾個同學在這里掛了QwQ。

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N = 1e5 + 10;int ans =0 ;
int n, k;
int w[N];
vector<int>e[N];
bool vis[N];void bfs(int num) {queue<int>q;vis[1] = 1;q.push(1);ans = w[1];if (num == 0) return;//這里當時寫的多余了while (num-- && q.size()) {int a = q.size();while (a--) {int x = q.front();q.pop();for (auto i : e[x]) {if (!vis[i]) {vis[i] = 1;ans += w[i];q.push(i);}}}}
}
signed main() {cin >> n >> k;for (int i = 1; i <= n;i++) {cin >> w[i];}	for (int i = 0; i < n - 1; i++) {int x, y;cin >> x >> y;e[x].push_back(y);e[y].push_back(x);}bfs(2 * k);cout << ans;return 0;
}

試題 G: 翻轉硬幣

【問題描述】
給定 n 行 m 列共 n × m 個硬幣,對于任意一個硬幣,我們將其價值視為與
其相鄰(指上、下、左、右相鄰)的硬幣中與其正反相同的硬幣數的平方。
你可以進行任意次操作,每次可以選擇任意一行并將該行的硬幣全部翻轉。
求所有硬幣的價值之和最大可能是多少。
【輸入格式】
輸入的第一行包含兩個正整數 n, m ,用一個空格分隔。
接下來 n 行,每行包含 m 個 0 或 1 ,表示給定的 n × m 個硬幣。
【輸出格式】
輸出一行包含一個整數表示答案。
【樣例輸入】
4 4
1010
1111
1011
1100
【樣例輸出】
68
【樣例說明】
如圖,實線表示正面,虛線表示反面,翻轉最后一行可以得到最大價值和:
在這里插入圖片描述
【評測用例規模與約定】
對于 40% 的評測用例,n, m ≤ 20 ;
對于所有評測用例,1 ≤ n, m ≤ 1000 。

答案:

應該是最難的一道題了,感覺像是dp,本人太菜了沒寫出來QwQ。

試題 H: 破解信息

【問題描述】
在遙遠的未來,星際旅行已經成為常態。宇航員小藍在一次探險任務中,
意外發現了一個古老的太空遺跡。遺跡中存放著一個數據存儲器,里面記錄著
一段加密的信息。經過初步分析,小藍發現這段信息可以被表示為一個字符串
S,而解密的關鍵,在于找出 S 中字典序最大的回文子序列。
? 子序列:指從原字符串中抽取若干個字符(可以不連續),按照它們在原
字符串中的相對順序排列所形成的新序列。例如,對于字符串 “abc”,其
子序列包括 “a”、“b”、“c”、“ab”、“ac”、“bc” 和 “abc”。
? 字典序:指字符串按照字典中的排序規則比較大小的方式。對于兩個字符
串,從左到右逐字符比較,先出現較大字符的字符串字典序更大;若比較
到某個字符串結束仍未找到不同的字符,則較短的字符串字典序較小。例
如,“abc” < “abd”,而 “ab” < “abc”。
現在,請你從字符串 S 中,找出字典序最大的回文子序列,幫助小藍解開
這段來自星際文明的信息。
【輸入格式】
輸入一行包含一個字符串 S ,表示加密的信息。
【輸出格式】
輸出一行包含一個字符串,表示 S 中字典序最大的回文子序列。
【樣例輸入 1】
abcd
【樣例輸出 1】
d
【樣例輸入 2】
abab
【樣例輸出 2】
bb
【評測用例規模與約定】
對于 30% 的評測用例,1 ≤ |S | ≤ 300 ,其中 |S | 表示字符串 S 的長度;
對于所有評測用例,1 ≤ |S | ≤ 105 ,S 中只包含小寫英文字母。

答案:

虛假的20分題目,此題只需要考慮字符串里面最大的字母的個數,然后輸出這么長的該字符即可,原因請結合題目:對于兩個字符串,從左到右逐字符比較,先出現較大字符的字符串字典序更大

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N = 1e5 + 10;string s;
char ma;
int cnt = 1;
signed main() {cin >> s;for (auto i : s) {if (i > ma) {ma = i;cnt = 1;}else if (i == ma) {cnt++;}}for (int i = 0; i < cnt; i++) {cout << ma;}return 0;
}

如果對于以上題目有什么想法或者錯誤,歡迎與我積極討論。

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

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

相關文章

【數據結構與算法】從完全二叉樹到堆再到優先隊列

完全二叉樹 CBT 設二叉樹的深度為 h , 若非最底層的其他各層的節點數都達到最大個數 , 最底層 h 的所有節點都連續集中在左側的二叉樹叫做 完全二叉樹 . 特點 對任意節點 , 其右分支下的葉子節點的最底層為 L , 則其左分支下的葉子節點的最低層一定是 L 或 L 1 .完全二叉樹…

Leetcode:1. 兩數之和

題目 給定一個整數數組 nums 和一個整數目標值 target&#xff0c;請你在該數組中找出 和為目標值 target 的那 兩個 整數&#xff0c;并返回它們的數組下標。 你可以假設每種輸入只會對應一個答案&#xff0c;并且你不能使用兩次相同的元素。 你可以按任意順序返回答案。 示…

flume整合kafka

需求一&#xff1a; 啟動flume 啟動kafka消費者&#xff0c;驗證數據寫入成功 新增測試數據 需求二&#xff1a; 啟動Kafka生產者 啟動Flume 在生產者中寫入數據

Hbase集群管理與實踐

一、HBase集群搭建實戰 1.1 環境規劃建議 硬件配置基準(以10節點集群為例): 角色CPU內存磁盤網絡HMaster4核16GBSSD 200GB(系統盤)10GbpsRegionServer16核64GB124TB HDD(JBOD)25GbpsZooKeeper4核8GBSSD 500GB10Gbps1.2 關鍵配置項示例(hbase-site.xml) <configu…

STM32 開發 - stm32f10x.h 頭文件(內存映射、寄存器結構體與宏、寄存器位定義、實現點燈案例)

概述 STM32F10x.h 是 STM32F1 系列微控制器的核心頭文件&#xff0c;提供了所有外設寄存器的定義和內存映射 一、內存映射 #define PERIPH_BASE ((uint32_t)0x40000000)#define APB1PERIPH_BASE PERIPH_BASE #define APB2PERIPH_BASE (PERIPH_BASE 0x…

QEMU源碼全解析 —— 塊設備虛擬化(23)

接前一篇文章:QEMU源碼全解析 —— 塊設備虛擬化(22) 本文內容參考: 《趣談Linux操作系統》 —— 劉超,極客時間 《QEMU/KVM源碼解析與應用》 —— 李強,機械工業出版社 特此致謝! QEMU啟動過程中的塊設備虛擬化 上一回解析了qcow2格式對應的qcow2_open函數,本回解…

【PCB工藝】推挽電路及交越失真

推挽電路(Push-Pull Circuit) 推挽電路(Push-Pull Circuit) 是一種常用于功率放大、電機驅動、音頻放大等場合的電路結構,具有輸出對稱、效率高、失真小等優點。 什么是推挽電路? 推挽是指:由兩種極性相反的器件(如 NPN 和 PNP、NMOS 和 PMOS)交替導通,一個“推”電…

RD電子實驗記錄本選用貼士A-B-C

傳統的實驗記錄本&#xff0c;令人又愛又恨本 如何挑選電子實驗室記錄本&#xff08;ELN&#xff09;的品牌/服務商/供應商&#xff1f; 電子實驗記錄本&#xff0c;又名為ELN&#xff0c;Electronic lab notebook&#xff0c;enotebook&#xff0c;研發電子管理系統&#xf…

Qt實戰之將自定義插件(minGW)顯示到Qt Creator列表的方法

Qt以其強大的跨平臺特性和豐富的功能&#xff0c;成為眾多開發者構建圖形用戶界面&#xff08;GUI&#xff09;應用程序的首選框架。而在Qt開發的過程中&#xff0c;自定義插件能夠極大地拓展應用程序的功能邊界&#xff0c;讓開發者實現各種獨特的、個性化的交互效果。想象一下…

java基礎之枚舉和注解

枚舉 簡介 枚舉&#xff1a;enumeration&#xff0c;jdk1.5中引入的新特性&#xff0c;用于管理和使用常量 入門案例 第一步&#xff1a;定義枚舉&#xff0c;這里定義一個動物類&#xff0c;里面枚舉了多種動物 public enum AnimalEnum {CAT, // 貓DOG, // 狗PIG // …

2.3java運算符

運算符 1. 算術運算符 算術運算符用于執行基本的數學運算&#xff0c;像加、減、乘、除等。 運算符描述示例加法int a 5 3; // a 的值為 8-減法int b 5 - 3; // b 的值為 2*乘法int c 5 * 3; // c 的值為 15/除法int d 6 / 3; // d 的值為 2%取模&#xff08;取余&…

升級 Spring Boot CLI

&#x1f31f; 升級 Spring Boot CLI 1?? &#x1f504; 通過包管理器升級 使用對應包管理器命令&#xff08;如 brew upgrade&#xff09; 2?? &#x1f4e5; 手動安裝升級 遵循 標準安裝說明 注意更新 PATH 環境變量移除舊版本路徑 &#x1f517; 鏈接原文&#xff1a…

如何輕松將RS232轉為Profibus DP,提升PLC效率?

如何輕松將RS232轉為Profibus DP&#xff0c;提升PLC效率&#xff1f; 今天&#xff0c;我們就來聊聊一個工業自動化中常見的應用場景&#xff1a;如何通過興達易控RS232轉Profibus DP網關&#xff0c;實現流量泵與PLC&#xff08;可編程邏輯控制器&#xff09;的通信。這個話…

QT 連接數據庫操作(15)

文章目錄 一、本章說明二、QT連接云端數據庫實現2.1 ODBC軟件安裝及參數設置2.2 軟件代碼實現三、項目源碼文件一、本章說明 注:本節為【基于STM的環境監測系統(節點+云服務器存儲+QT界面設計)】項目第15篇文章,前面已經創建了監測軟件的登錄窗口,接下來我們將在主窗口實…

linux系統之----命令行參數和環境變量

一、命令行參數 1.main()函數的參數 在C語言中&#xff0c;main函數可以接收命令行參數&#xff0c;其標準形式為&#xff1a; int main(int argc, char *argv[]) {// 程序代碼return 0; } 這里我們解釋一下&#xff1a; argc&#xff1a;參數個數計數器&#xff08;Argum…

解析excel中的圖片

解析excel中的圖片 前言一、pom依賴二、使用步驟1.示例數據2.代碼如下&#xff08;示例&#xff09;&#xff1a; 總結 前言 初始化數據是&#xff0c;需要將excel中的數據解析并插入數據庫。 但是某幾列存放的是圖片&#xff0c;這時候怎么辦呢。 主要解決的是&#xff1a;獲…

Unity任務系統筆記

數據結構設計 任務基類包括的字段&#xff1a; string 任務內容&#xff1b; Transform 任務目的地&#xff1b; MyCharacter 任務開啟后要更新對話的NPC&#xff1b; MyTalkData 任務開啟后相關NPC要說的對話數據&#xff1b; 共同方法&#xff1a;開啟任務、完成任務。…

STM32的開發環境介紹

目錄 STM32軟件環境 Keil軟件在線安裝 其他軟件環境安裝 STM32開發的幾種方式 STM32寄存器版本和庫函數版本 標準外設庫的作用&#xff1a; STM32軟件環境 STM32 的集成開發環境&#xff08;IDE&#xff09;&#xff1a;編輯編譯軟件 常見的環境&#xff1a; (1)KEIL&a…

【特殊場景應對9】視頻簡歷的適用場景與風險分析

寫在最前 作為一個中古程序猿,我有很多自己想做的事情,比如埋頭苦干手搓一個低代碼數據庫設計平臺(目前只針對寫java的朋友),比如很喜歡幫身邊的朋友看看簡歷,講講面試技巧,畢竟工作這么多年,也做到過高管,有很多面人經歷,意見還算有用,大家基本都能拿到想要的offe…

Linux系統性能調優技巧分享

在數字化時代,Linux 系統以其開源、穩定、高效的特性,成為服務器、云計算、物聯網等領域的核心支撐。然而,隨著業務規模的擴大和負載的增加,系統性能問題逐漸凸顯。掌握 Linux 系統性能調優技巧,不僅能提升系統運行效率,還能降低運維成本。下面從多個方面介紹實用的性能調…