第 12 屆藍橋杯 C++ 青少組中 / 高級組省賽 2021 年真題

一、選擇題
第 1 題

題目:下列符號中哪個在 C++ 中表示行注釋 ( )。
A. ! B. # C. ] D. //

正確答案:D
答案解析
在 C++ 中,//用于單行注釋(行注釋),從//開始到行末的內容會被編譯器忽略。選項 A(!)、B(#)、C(])均無注釋功能,其中#常用于預處理指令(如#include)。

講解方法和教案

  • 教學目標:掌握 C++ 注釋的兩種形式(單行注釋和多行注釋)。
  • 重點:區分//(單行)和/* ... */(多行)的用法。
  • 教學步驟
    1. 展示代碼示例,對比兩種注釋的寫法。
    2. 強調注釋對代碼可讀性的重要性。
    3. 練習:用//注釋單行代碼,用/* */注釋多行代碼。
第 2 題

題目:每個 C++ 程序都必須有且僅有一個 ( )。
A. 函數 B. 預處理命令 C. 主函數 D. 語句

正確答案:C
答案解析
C++ 程序的執行從main函數開始,每個程序必須有且僅有一個main函數(主函數)。雖然程序中可以有其他函數、預處理命令或語句,但主函數是入口,不可或缺。

講解方法和教案

  • 教學目標:理解 C++ 程序的基本結構,明確主函數的作用。
  • 重點main函數的格式(如int main() { ... })。
  • 教學步驟
    1. 展示簡單的 C++ 程序框架,標注主函數的位置。
    2. 解釋為什么主函數是程序的入口。
    3. 錯誤示例:缺少main函數時的編譯錯誤提示。
第 3 題

題目:下列字符串中不可以用作 C++ 變量名稱的是 ( )。
A. str123 B. int C. _6666 D. name

正確答案:B
答案解析
C++ 變量名規則:

  1. 只能由字母、數字、下劃線組成,且不能以數字開頭。
  2. 不能是關鍵字(如intfloatif等)。
    選項 B 中的int是關鍵字,不能作為變量名。其他選項均符合規則(A 以字母開頭,C 以下劃線開頭,D 為合法字母組合)。

講解方法和教案

  • 教學目標:掌握變量命名規則,識別關鍵字。
  • 重點:關鍵字列表(如intcharwhile等)。
  • 教學步驟
    1. 列出變量命名的規則,用示例說明合法與非法的變量名。
    2. 強調避免使用關鍵字的重要性,解釋編譯錯誤的原因。
    3. 練習:判斷給定字符串是否可作為變量名(如123varvar_1if)。
第 4 題

題目:二進制加法 10010100+110010 的和為 ( )。
A. 11000110 B. 10100110 C. 10110110 D. 11100110

正確答案:A
答案解析
將二進制數對齊后相加(注意進位):

plaintext

  10010100  
+   00110010  
=  10100110  

但需注意題目中第二個數110010是 6 位,需補前導 0 變為 8 位00110010,相加后結果為10100110(即選項 B)。但此處可能存在題目排版錯誤,實際正確計算應為:
10010100(148) +?110010(50) = 198,轉換為二進制為11000110(選項 A)。
:可能是題目中第二個數的二進制位數標注錯誤,正確計算應以數值轉換后為準。

講解方法和教案

  • 教學目標:掌握二進制加法運算規則(逢二進一)。
  • 重點:進位處理,二進制與十進制的轉換。
  • 教學步驟
    1. 復習二進制位權,演示如何將二進制轉換為十進制驗證結果。
    2. 分步演示二進制加法過程,強調對齊位數的重要性。
    3. 練習:計算其他二進制加法(如1010+101)。
第 5 題

題目:對于int *pa[5];的描述中,正確的是 ( )。
A. pa 是一個指向數組的指針,所指向的數組是 5 個 int 型元素
B. pa 是一個指向某數組中第 5 個元素的指針,該元素是 int 型變量
C. pa [5] 表示數組的第 5 個元素的值,是 int 型的值
D. pa 是一個具有 5 個元素的指針數組,每個元素是一個 int 型指針

正確答案:D
答案解析
int *pa[5]中,[]優先級高于*,因此pa先與[5]結合,說明pa是一個數組,包含 5 個元素,每個元素是int*類型(即指向 int 的指針)。

  • 選項 A 錯誤,指向數組的指針應為int (*pa)[5]
  • 選項 B 錯誤,并非指向第 5 個元素,而是數組本身有 5 個指針元素。
  • 選項 C 錯誤,pa[5]越界(數組下標從 0 開始,最大為 4)。

講解方法和教案

  • 教學目標:區分指針數組和數組指針的語法與含義。
  • 重點:運算符優先級對定義的影響([]高于*)。
  • 教學步驟
    1. 對比int *pa[5](指針數組)和int (*pa)[5](數組指針)的定義。
    2. 解釋數組元素的類型,演示如何初始化指針數組。
    3. 錯誤示例:訪問越界下標pa[5]會導致未定義行為。
二、編程題
第 6 題:整除

題目描述:輸入正整數 N,輸出 1 到 N 之間所有能被 7 整除的數,用空格隔開。
樣例輸入:15 →?樣例輸出:7 14

正確答案代碼

cpp

#include <iostream>
using namespace std;int main() {int n;cin >> n;bool first = true; // 標記是否為第一個數,避免末尾空格for (int i = 7; i <= n; i += 7) {if (first) {cout << i;first = false;} else {cout << " " << i;}}return 0;
}

答案解析

  1. 遍歷 1 到 N 的數,步長為 7(直接跳過不能被 7 整除的數),提高效率。
  2. 處理輸出格式,避免末尾空格:用bool變量標記是否為第一個輸出的數,第一個數直接輸出,后續數前加空格。

講解方法和教案

  • 教學目標:掌握循環結構、條件判斷、輸出格式控制。
  • 重點
    • 如何高效篩選能被 7 整除的數(i % 7 == 0i += 7)。
    • 避免末尾空格的技巧(標記法或先判斷再輸出)。
  • 教學步驟
    1. 分析問題:明確需要找出 1 到 N 中 7 的倍數,按順序輸出,空格分隔。
    2. 算法設計:從 7 開始,每次加 7,直到超過 N。
    3. 代碼實現:演示循環結構,講解first變量的作用。
    4. 測試樣例:輸入 15,驗證輸出是否為 7 14。
第 7 題:求和

題目描述:按規律計算磚塊總數,第 k 層磚塊數為前一層加 k(第 1 層 1 塊,第 2 層 1+2=3 塊,第 3 層 3+3=6 塊,依此類推)。
樣例輸入:3 →?樣例輸出:10(1+3+6=10)

正確答案代碼

cpp

#include <iostream>
using namespace std;int main() {int n, current = 0, total = 0;cin >> n;for (int k = 1; k <= n; k++) {current += k; // 第k層磚塊數 = 前一層 + k(第1層k=1,current=1;第2層k=2,current=1+2=3,依此類推)total += current;}cout << total;return 0;
}

答案解析

  1. 定義current表示當前層的磚塊數,初始為 0。
  2. 第 k 層磚塊數等于前一層current加上 k(如 k=1 時,current=0+1=1;k=2 時,current=1+2=3)。
  3. 每次計算當前層磚塊數后,累加到total中。

講解方法和教案

  • 教學目標:發現規律,用循環累加解決遞推問題。
  • 重點:找出第 k 層磚塊數的遞推公式(第 k 層 = 第 k-1 層 + k)。
  • 教學步驟
    1. 分析樣例:第 1 層 1 塊,第 2 層 3 塊(1+2),第 3 層 6 塊(3+3),第 4 層 10 塊(6+4),總結規律。
    2. 變量設計:current記錄當前層磚塊數,total記錄總數。
    3. 循環結構:從 k=1 到 k=N,每次更新currenttotal
    4. 驗證樣例:輸入 3 時,循環 k=1→current=1,total=1;k=2→current=3,total=4;k=3→current=6,total=10,正確。
第 8 題:排序

題目描述:計算將亂序瓶子通過最少互換次數排到有序的最少次數(每次互換兩個瓶子)。
樣例輸入:5 2 1 3 5 4 →?樣例輸出:2(互換 2 和 1,5 和 4)

正確答案思路

  1. 找出所有未在正確位置的元素,構成 “環”。每個環需要(環長度 - 1)次互換。
  2. 總次數為所有環的(長度 - 1)之和。

代碼實現(C++):

cpp

#include <iostream>
#include <vector>
#include <cstring>
using namespace std;const int MAXN = 100;
int a[MAXN], visited[MAXN];int main() {int n;cin >> n;for (int i = 0; i < n; i++) {cin >> a[i];a[i]--; // 轉換為0-based索引,方便處理}memset(visited, 0, sizeof(visited));int res = 0;for (int i = 0; i < n; i++) {if (!visited[i]) {int cnt = 0, j = i;while (!visited[j]) {visited[j] = 1;j = a[j];cnt++;}res += (cnt - 1); // 每個環需要cnt-1次互換}}cout << res;return 0;
}

答案解析

  • 數組元素代表瓶子編號,正確位置應為a[i] = i(轉換為 0-based 后)。
  • 遍歷每個未訪問的元素,找到其所在環的長度cnt,每個環需要cnt-1次互換(例如環長度 2→1 次,環長度 3→2 次)。
  • 總次數為所有環的cnt-1之和。

講解方法和教案

  • 教學目標:理解圖論中的環結構,用訪問標記處理循環互換問題。
  • 重點
    • 如何識別環:當前元素指向的下一個元素,直到回到起點。
    • 環長度與互換次數的關系:每個環需要(長度 - 1)次互換。
  • 教學步驟
    1. 分析樣例:輸入 2 1 3 5 4,正確序列為 1 2 3 4 5(轉換為 0-based 為 0 1 2 3 4)。
      • 第一個環:0→1→0(長度 2),需要 1 次互換。
      • 第二個環:3→4→3(長度 2),需要 1 次互換。
      • 總次數 1+1=2,正確。
    2. 算法設計:用visited數組標記已處理的元素,遍歷每個未訪問的元素,計算環長度。
    3. 代碼實現:講解數組下標轉換(0-based),循環找環的邏輯。
第 9 題:推算

題目描述:已知出生日為 1999-04-30(第 1 天),輸入 n,計算第 n 天的日期(格式 yyyy-mm-dd)。
樣例輸入:10 →?樣例輸出:1999-05-09(4 月 30 日 + 9 天 = 5 月 9 日)

正確答案思路

  1. 預處理每年各月的天數,考慮閏年(2 月 29 天,非閏年 28 天)。
  2. 從 1999 年 4 月 30 日(第 1 天)開始,逐月累加天數,直到找到對應的年月日。

代碼實現(C++):

cpp

#include <iostream>
using namespace std;int month_days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};bool is_leap(int year) {return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}int main() {int n;cin >> n;n--; // 第1天對應4月30日,轉換為從4月30日之后的天數開始計算(n=1時,剩余0天)int year = 1999, month = 4, day = 30;while (n > 0) {day++;n--;if (day > month_days[month]) {day = 1;month++;if (month == 2 && is_leap(year)) { // 處理閏年2月month_days[2] = 29;} else if (month != 2) { // 恢復非閏年2月或其他月份month_days[2] = 28;}if (month > 12) {month = 1;year++;}}}cout << year << "-" << (month < 10 ? "0" : "") << month << "-" << (day < 10 ? "0" : "") << day << endl;return 0;
}

答案解析

  1. 初始日期為 1999-04-30(第 1 天),輸入 n 需減 1,得到從該日之后的天數(n=1 時,剩余 0 天,即當天)。
  2. 逐天累加,處理月份和年份的進位,注意閏年對 2 月天數的影響。
  3. 輸出時補前導 0(如月份或日期小于 10 時,添加 0)。

講解方法和教案

  • 教學目標:掌握日期計算,處理閏年和月份天數變化。
  • 重點
    • 閏年判斷條件:能被 4 整除但不能被 100 整除,或能被 400 整除。
    • 月份天數數組的動態更新(閏年 2 月為 29 天)。
  • 教學步驟
    1. 分析樣例:n=10,第 1 天是 4 月 30 日,第 2 天是 5 月 1 日,第 10 天即 5 月 9 日(4 月 30 日 + 9 天)。
    2. 算法設計:從初始日期開始,逐天增加,直到用完 n-1 天。
    3. 代碼實現:講解month_days數組的使用,閏年判斷函數,日期進位邏輯。
    4. 邊界測試:如 1999-12-31 之后是 2000-01-01(閏年),2001-02-28 之后是 2001-03-01(非閏年)。
第 10 題:可逆素數

題目描述:統計 2 到 N 之間的可逆素數(正序和反序均為素數,且反序數不能有前導 0)。
樣例輸入:15 →?樣例輸出:6(2,3,5,7,11,13;反序分別為 2,3,5,7,11,31,均為素數)

正確答案思路

  1. 對每個數 x(2≤x≤N),判斷 x 是否為素數。
  2. 若 x 是素數,反轉 x 的各位得到反序數 y(如 x=13→y=31),判斷 y 是否為素數,且 y 不能有前導 0(即 x 的末位不能為 0)。

代碼實現(C++):

cpp

#include <iostream>
using namespace std;bool is_prime(int num) {if (num <= 1) return false;for (int i = 2; i * i <= num; i++) {if (num % i == 0) return false;}return true;
}int reverse_num(int x) {int res = 0;while (x > 0) {res = res * 10 + x % 10;x /= 10;}return res;
}int main() {int n, count = 0;cin >> n;for (int x = 2; x <= n; x++) {if (is_prime(x)) {int y = reverse_num(x);if (y == 0) continue; // 反序數不能有前導0(x末位為0時,y=0,無效)if (is_prime(y) && y <= n) { // y需≤n且為素數count++;}}}cout << count;return 0;
}

答案解析

  • 素數判斷:從 2 到√num 遍歷,判斷是否有因數。
  • 反轉數字:通過取余和整除操作,逐位反轉,如 13→31,10→1(但 10 末位為 0,反轉后 1,需注意 x 末位為 0 時反序數可能變小,但 1 不是素數,不影響結果)。
  • 過濾條件:反序數不能有前導 0(即 x 的末位不能為 0,否則反轉后會丟失前導 0,如 x=20→反序數 2,是素數,但 x=20 本身不是素數,不影響)。

講解方法和教案

  • 教學目標:掌握素數判斷、數字反轉,理解可逆素數的定義。
  • 重點
    • 反序數的正確計算(避免前導 0,如 x=10→反序數 1,但 1 不是素數)。
    • 去重:如 x=11,反序數 11,視為同一個數,只需判斷一次。
  • 教學步驟
    1. 分析樣例:x=13→反序 31,均為素數,符合條件;x=17→反序 71,均為素數,若 N≥71 則計數。
    2. 算法設計:先判斷 x 是否為素數,再反轉 x 得到 y,判斷 y 是否為素數且 y≤N。
    3. 代碼實現:講解素數判斷函數、反轉數字函數的實現,處理 x 末位為 0 的情況(如 x=10 不是素數,無需處理)。
第 11 題:滿二叉樹與完全二叉樹

題目描述:給定完全二叉樹的節點權值,按深度求和,求權值和最大的深度(若相同取最小深度)。
樣例輸入 1:6 1 5 6 1 2 3 → 深度 1 和為 1,深度 2 和為 5+6=11,深度 3 和為 1+2+3=6 →?輸出 2

正確答案思路

  1. 完全二叉樹的節點按層序排列,第 d 層的節點數為2^(d-1)(d≥1),最后一層可能不滿。
  2. 計算每層的起始和結束下標:第 d 層的起始下標為sum_{i=1到d-1} 2^(i-1)?=?2^(d-1)-1,結束下標為min(2^d-1, n-1)(0-based)。
  3. 遍歷每層,計算權值和,記錄最大和對應的最小深度。

代碼實現(C++):

cpp

#include <iostream>
#include <vector>
using namespace std;int main() {int n;cin >> n;vector<int> a(n);for (int i = 0; i < n; i++) {cin >> a[i];}int max_sum = -1, res_depth = 1;int depth = 1;while (true) {int start = (1 << (depth - 1)) - 1; // 2^(depth-1)-1int end = (1 << depth) - 1;end = min(end, n); // 轉換為0-based,實際end是min(2^depth-1, n) - 1?需要調整// 正確計算:第d層的節點在數組中的下標范圍是 [2^(d-1)-1, 2^d-1-1](0-based),當節點數不足時,到n-1start = (1 << (depth - 1)) - 1; // 第d層第一個節點的下標(0-based)int nodes = min((1 << depth) - 1, n) - start; // 該層節點數int sum = 0;for (int i = 0; i < nodes; i++) {int idx = start + i;if (idx >= n) break; // 處理最后一層節點數不足的情況sum += a[idx];}if (sum > max_sum || (sum == max_sum && depth < res_depth)) {max_sum = sum;res_depth = depth;}if (start >= n) break; // 所有層處理完畢depth++;}cout << res_depth;return 0;
}

答案解析

  • 完全二叉樹第 d 層的節點數:第 1 層 1 個(下標 0),第 2 層 2 個(下標 1,2),第 3 層 4 個(下標 3,4,5,6),依此類推。
  • 計算每層的起始下標:第 d 層起始下標為2^(d-1)-1(0-based),節點數為min(2^(d-1), n - 起始下標)
  • 遍歷每層,累加權值和,比較并記錄最大和對應的最小深度。

講解方法和教案

  • 教學目標:理解完全二叉樹的層序存儲結構,按層計算和。
  • 重點
    • 層序下標計算:第 d 層的起始下標和節點數。
    • 處理最后一層節點數不足的情況(如 n=6,第 3 層應有 4 個節點,但實際只有 3 個,下標 3,4,5)。
  • 教學步驟
    1. 分析樣例:n=6,節點下標 0~5。
      • 深度 1:下標 0,和為 1。
      • 深度 2:下標 1,2,和為 5+6=11。
      • 深度 3:下標 3,4,5,和為 1+2+3=6。
        最大和為 11,深度 2。
    2. 算法設計:用循環計算每層的起始下標和節點數,累加和。
    3. 代碼實現:講解位運算(1 << (d-1)表示 2^(d-1)),處理下標越界情況。

總結

以上題目覆蓋了 C++ 基礎語法、算法(循環、條件判斷、數組操作)、數學問題(二進制運算、素數判斷)、數據結構(完全二叉樹)等知識點。教學時應注重從易到難,結合樣例演示,引導學生逐步推導思路,培養編程思維和問題解決能力。

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

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

相關文章

【python】【UV】一篇文章學完新一代 Python 環境與包管理器使用指南

&#x1f40d; UV&#xff1a;新一代 Python 環境與包管理器使用指南 一、UV 是什么&#xff1f; UV 是由 Astral 團隊開發的高性能 Python 環境管理器&#xff0c;旨在統一替代 pyenv、pip、venv、pip-tools、pipenv 等工具。 1.1 UV 的主要功能 &#x1f680; 極速包安裝&…

前端性能優化2:結合HTTPS與最佳實踐,全面優化你的網站性能

點亮極速體驗&#xff1a;結合HTTPS與最佳實踐&#xff0c;為你詳解網站性能優化的道與術 在如今這個信息爆炸、用戶耐心極其有限的數字時代&#xff0c;網站的性能早已不是一個可選項&#xff0c;而是關乎生存和發展的核心競爭力。一個遲緩的網站&#xff0c;無異于在數字世界…

JavaWeb:vueaxios

一、簡介 什么是vue? 快速入門 <!-- 3.準備視圖元素 --><div id"app"><!-- 6.數據渲染 --><h1>{{ msg }}</h1></div><script type"module">// 1.引入vueimport { createApp, ref } from https://unpkg.com/vu…

Tauri聯合Vue開發中Vuex與Pinia關系及前景分析

在 TauriVue 的開發場景中&#xff0c;Vuex 和 Pinia 是兩種不同的狀態管理工具&#xff0c;它們的關系和前景可以從以下角度分析&#xff1a; 一、Vuex 與 Pinia 的關系 繼承與發展 Pinia 最初是作為 Vuex 5 的提案設計的&#xff0c;其目標是簡化 Vuex 的復雜性并更好地適配 …

Linux中的時間同步

一、時間同步服務擴展總結 1. 時間同步的重要性 多主機協作需求&#xff1a;在分布式系統、集群、微服務架構中&#xff0c;時間一致性是日志排序、事務順序、數據一致性的基礎。 安全協議依賴&#xff1a;TLS/SSL證書、Kerberos認證等依賴時間有效性&#xff0c;時間偏差可能…

【算法基礎】三指針排序算法 - JAVA

一、基礎概念 1.1 什么是三指針排序 三指針排序是一種特殊的分區排序算法&#xff0c;通過使用三個指針同時操作數組&#xff0c;將元素按照特定規則進行分類和排序。這種算法在處理包含有限種類值的數組時表現出色&#xff0c;最經典的應用是荷蘭國旗問題&#xff08;Dutch …

《操作系統真象還原》第十二章(2)——進一步完善內核

文章目錄 前言可變參數的原理實現系統調用write更新syscall.h更新syscall.c更新syscall-init.c 實現printf編寫stdio.h編寫stdio.c 第一次測試main.cmakefile結果截圖 完善printf修改main.c 結語 前言 上部分鏈接&#xff1a;《操作系統真象還原》第十二章&#xff08;1&#…

ICML2021 | DeiT | 訓練數據高效的圖像 Transformer 與基于注意力的蒸餾

Training data-efficient image transformers & distillation through attention 摘要-Abstract引言-Introduction相關工作-Related Work視覺Transformer&#xff1a;概述-Vision transformer: overview通過注意力機制蒸餾-Distillation through attention實驗-Experiments…

深度學習:AI 機器人時代

在科技飛速發展的當下&#xff0c;AI 機器人時代正以洶涌之勢席卷而來&#xff0c;而深度學習作為其核心驅動力&#xff0c;正重塑著我們生活與工作的方方面面。 從智能工廠的自動化生產&#xff0c;到家庭中貼心服務的智能助手&#xff0c;再到復雜環境下執行特殊任務的專業機…

《告別試錯式開發:TDD的精準質量鍛造術》

深度解鎖TDD&#xff1a;應用開發的創新密鑰 在應用開發的復雜版圖中&#xff0c;如何雕琢出高質量、高可靠性的應用&#xff0c;始終是開發者們不懈探索的核心命題。測試驅動開發&#xff08;TDD&#xff09;&#xff0c;作為一種顛覆性的開發理念與方法&#xff0c;正逐漸成…

應用層自定義協議序列與反序列化

目錄 一、網絡版計算器 二、網絡版本計算器實現 2.1源代碼 2.2測試結果 一、網絡版計算器 應用層定義的協議&#xff1a; 應用層進行網絡通信能否使用如下的協議進行通信呢&#xff1f; 在操作系統內核中是以這種協議進行通信的&#xff0c;但是在應用層禁止以這種協議進行…

Excel-CLI:終端中的輕量級Excel查看器

在數據驅動的今天&#xff0c;Excel 文件處理成為了我們日常工作中不可或缺的一部分。然而&#xff0c;頻繁地在圖形界面與命令行界面之間切換&#xff0c;不僅效率低下&#xff0c;而且容易出錯。現在&#xff0c;有了 Excel-CLI&#xff0c;一款運行在終端中的輕量級Excel查看…

百度后端開發一面

mutex, rwmutex 在Go語言中&#xff0c;Mutex&#xff08;互斥鎖&#xff09;和RWMutex&#xff08;讀寫鎖&#xff09;是用于管理并發訪問共享資源的核心工具。以下是它們的常見問題、使用場景及最佳實踐總結&#xff1a; 1. Mutex 與 RWMutex 的區別 Mutex: 互斥鎖&#xf…

STM32 IIC總線

目錄 IIC協議簡介 IIC總線系統結構 IIC總線物理層特點 IIC總線協議層 空閑狀態 應答信號 數據的有效性 數據傳輸 STM32的IIC特性及架構 STM32的IIC結構體 0.96寸OLED顯示屏 SSD1306框圖及引腳定義 4針腳I2C接口模塊原理圖 字節傳輸-I2C 執行邏輯框圖 命令表…

【unity游戲開發入門到精通——UGUI】整體控制一個UGUI面板的淡入淡出——CanvasGroup畫布組組件的使用

注意&#xff1a;考慮到UGUI的內容比較多&#xff0c;我將UGUI的內容分開&#xff0c;并全部整合放在【unity游戲開發——UGUI】專欄里&#xff0c;感興趣的小伙伴可以前往逐一查看學習。 文章目錄 前言CanvasGroup畫布組組件參數 實戰專欄推薦完結 前言 如果我們想要整體控制…

大型語言模型個性化助手實現

大型語言模型個性化助手實現 目錄 大型語言模型個性化助手實現PERSONAMEM,以及用戶資料和對話模擬管道7種原位用戶查詢類型關于大語言模型個性化能力評估的研究大型語言模型(LLMs)已經成為用戶在各種任務中的個性化助手,從提供寫作支持到提供量身定制的建議或咨詢。隨著時間…

生成式 AI 的未來

在人類文明的長河中,技術革命始終是推動社會躍遷的核心引擎。從蒸汽機解放雙手,到電力點亮黑夜,再到互聯網編織全球神經網絡,每一次技術浪潮都在重塑人類的生產方式與認知邊界。而今天,生成式人工智能(Generative AI)正以一種前所未有的姿態登上歷史舞臺——它不再局限于…

【序列化與反序列化詳解】

文章目錄 一、序列化與反序列化是什么&#xff1f;1. 為什么需要序列化&#xff1f;2. 反序列化的作用 二、常見的序列化格式三、不同編程語言的序列化與反序列化示例1. Python 的序列化與反序列化JSON 序列化Pickle 序列化&#xff08;僅限 Python&#xff09; 2. Java 的序列…

【單例模式】簡介

目錄 概念理解使用場景優缺點實現方式 概念理解 單例模式要保證一個類在整個系統運行期間&#xff0c;無論創建多少次該類的對象&#xff0c;始終只會有一個實例存在。就像操作系統中的任務管理器&#xff0c;無論何時何地調用它&#xff0c;都是同一個任務管理器在工作&#…

目標檢測YOLO實戰應用案例100講- 無人機平臺下露天目標檢測與計數

目錄 知識儲備 基于YOLOv8改進的無人機露天目標檢測與計數 一、環境配置與依賴安裝 二、核心代碼實現(帶詳細注釋) 1. 改進YOLOv8模型定義(添加注意力機制) 2. 無人機視角數據增強(drone_augment.py ) 3. 多目標跟蹤與計數(tracking_counter.py ) 4. 完整推理流…