2025藍橋杯省賽C/C++研究生組游記

前言

至少半年沒寫算法題了,手生了不少,由于python寫太多導致行末老是忘記打分號,printf老是忘記寫f,for和if的括號也老是忘寫,差點連&&和||都忘記了。

題目都是回憶版本,可能有不準確的地方。

代碼如果有機會能拿到的話,會補充的。

A

統計1~202504之間每個數字各數位上的數之和被5整除的個數。

直接循環統計就完事了。

B

統計所有IPv6地址的最短形式的長度之和。

縮寫規則為,每個四位十六進制數的前導零可以省略,除此之外可以省掉一串連續的0000。

注意,當省略的0000序列在序列兩端時,會變成::

例如0234:0000:0000:0000:000f:1f1f:00ab:0000,可以縮寫為

234::f:1f1f:ab:0,長度就是3+2+1+1+4+1+2+1+1=16

但0000:0000:0000:000f:1f1f:00ab:0234:0000,應該縮寫為

::f:1f1f:ab:234:0,長度就是2+1+1+4+1+2+1+3+1+1=17

題解

這題很有意思,陷阱很多。(復盤的時候發現自己錯了)

首先顯然一個非0的四位十六進制數去除前導零的長度總和為sumlen=(15*1+15*16*2+15*16*16*3+15*16*16*16*4)

一個非0的四位十六進制數有sumcnt=(15+15*16+15*16*16+15*16*16*16)種

兩個四位十六進制數長度總和需要求卷積,而不是直接相加或者相乘。

當然也可以一個一個數計算貢獻,也就是sumlen*[sumcnt^(n-1)]*n種(可證明和卷積是等價的)

然后就是最短形式,如果有多串長度相同的連續的0地址,應該優先省去中間的0串。

枚舉最長的0串區間求解的話,會有很多問題,例如去重、合法串的限制。

所以枚舉八個四位十六進制數分別為0的所有組合,時間復雜度為2^8

然后根據枚舉的情況來求應該省去的0串的位置,計算所有0地址提供冒號和0的長度。

最后計算非0地址貢獻的長度總和sum,然后用sumcnt^(非0地址個數)*(所有0地址提供的冒號和0的長度)計算所有0地址的貢獻,最后加起來就可以了。

寫完之后就9:40多了。

C

一個序列ai長度為n,m次操作,一次操作把序列中每個數變成ai*bitcount(ai),求m次操作后的序列。

n<=1000,m<=5,ai<=1000。

直接模擬即可。

D

最大數字

輸入n,將1~n的每個數字轉換為二進制,拼接成一個長二進制串,再轉換回十進制,要求最終的十進制數最大。

n<=10000

題解

把每個數字的二進制放入結構體,重載小于符號為

a拼接b > b拼接a

(可惡,我連這個都忘記了,直接按字典序排了,太久不做題導致的)

然后排完序之后用原數據值進行高精度計算(用二進制串直接計算會超時),最后用longlong壓8位,勉強能在1秒內出結果。

(我這個SB題還寫了一個小時,我真是服了)

E

冷熱數據隊列

q1隊列長度為n1,q2隊列長度為n2,訪問一個數據x

四條規則

若x不在q1、q2中,則將x加入q2頭部

若x在q2或q2中,則將x提到q1頭部

若q1或q2超過各自的長度限制時,剔除尾端的數據

若q1超過限制但q2還有空位時,則將q1尾部數據放到q2頭部。

題解(非正解)

考場上直接用deque模擬了,兩個隊列各自維護一個vis數組,快速判斷哪些數據在隊列中

但第二條規則需要把deque里面的倒出來在壓回去

不過根據數據范圍來看,應該直接暴力就有80分。

正解?我也不知道

F

01串(又是01串)

把0、1、2、3、……所有數的二進制表示排成一排,求前x個數有多少個1

序列的大致形式就是0;1;1、0;1、1;1、0、0;1、0、1;……

x<=10^18

題解

倍增查詢恰好超過x時,一個數的二進制有多少位,記n為該值減一

設f[i]表示二進制位數小于等于i的所有數的累積,f[i]=f[i-1]*2+2^(i-1),

可以先將f[n]添加入答案,減掉x用掉的位數。

接下來就確定了x所在的數的二進制位數。

用x的剩余位數除以n,對得到的二進制進行分治:(類似二分查找)

只需要在選擇右子樹的時候統計答案,并只需要添加左子樹的累和即可。

最后算完之后,我們已經確定了x最終位于的十進制數,如果x還有剩余,則可以從高位到低位以此枚舉最終的十進制數的二進制,加入答案即可。

G

甘蔗

給出n個甘蔗高度ai,m個限制bj。

當每個甘蔗與相鄰甘蔗高度差都在集合b中,則序列合法。

求最少砍多少個甘蔗才能讓序列合法。

題解(非正解)

考場上直接暴力dp了

f[i][j]表示第i棵甘蔗高度為j時,前i棵甘蔗的序列合法的最少代價。

當j==a[i]時,則f[i][j]=min(f[i-1][j±b[k]])(1<=k<=m,0<=j±b[k]<=a[i-1])

當j!=a[i]時,在上式子后+1即可。

O(n^2*m)的復雜度,沒法過完所有數據,可能有優化之類的吧。

H

n個廠房,所有廠房都在x正方向,坐標為ci,原料單價為ai,庫存為bi,原料需求為m個單位,每走一個單位的代價為o。

求滿足原料需求的最少代價。

n<=100000,保證ci遞增

題解(個人猜測)

前面耽誤時間太多了,再加上手比較生了,寫到最后一題只剩20分鐘了,最后直接沒交。

模擬費用流貪心。

維護兩個集合S(空流邊)、T(已流邊),按照原料單價排序

依次加入工廠,加入到S集合中,按照費用排序。

若當前m個單位有剩余,則在S集合中選擇費用最低的工廠<cost,cap>,流過min(m,cap),總代價ans+=cost*min(m,cap)

在T集合中添加工廠<-cost,min(m,cap)>,或者在已有的-cost元素上添加min(m,cap)的容量

若cap已空,則在S集合中刪除該工廠。

完成上述更新之后,還需要維護S、T的流量平衡。

若當前S集合首元素cost與T集合首元素cost之和為負數,則說明代價還可以減少(也就是更換工廠后會更優),則需要將min(cap_S_begin,cap_T_begin)的貨物從T換到S集合中,與此同時還需要更新S和T集合。

完成所有更新之后,取所有(總代價+ci)的最小值就是最終的代價。

后記

感覺考得好差,太多失誤了,而且最近趕畢設鴨梨山大,生活狀態也不好,希望一切能好起來吧。

這次CDF三道二進制,ABCDF都是數位相關問題,題目比重真的很奇怪。

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

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

相關文章

Quill富文本編輯器支持自定義字體(包括新舊兩個版本,支持Windings 2字體)

文章目錄 1 新版&#xff08;Quill2 以上版本&#xff09;2 舊版&#xff08;Quill1版本&#xff09; 1 新版&#xff08;Quill2 以上版本&#xff09; 注意&#xff1a;新版設置 style"font-family: Wingdings 2" 這種帶空格的字體樣式會被過濾掉&#xff0c;故需特…

dbt:新一代數據轉換工具

dbt&#xff08;Data Build Tool&#xff09;一款專為數據分析和工程師設計的開源工具&#xff0c;專注于 ETL/ELT 流程的數據轉換&#xff08;Transform&#xff09;環節&#xff0c;幫助用戶以高效、可維護的方式將原始數據轉換為適合分析的數據模型。 用戶只需要編寫查詢&am…

【家政平臺開發(39)】解鎖家政平臺測試秘籍:計劃與策略全解析

本【家政平臺開發】專欄聚焦家政平臺從 0 到 1 的全流程打造。從前期需求分析,剖析家政行業現狀、挖掘用戶需求與梳理功能要點,到系統設計階段的架構選型、數據庫構建,再到開發階段各模塊逐一實現。涵蓋移動與 PC 端設計、接口開發及性能優化,測試階段多維度保障平臺質量,…

Java中的Map vs Python字典:核心對比與使用指南

一、核心概念 1. 基本定義 Python字典&#xff08;dict&#xff09; &#xff1a;動態類型鍵值對集合&#xff0c;語法簡潔&#xff0c;支持快速查找。Java Map&#xff1a;接口&#xff0c;常用實現類如 HashMap、LinkedHashMap&#xff0c;需聲明鍵值類型&#xff08;泛型&…

C語言基礎之數組

1. 一維數組的創建和初始化 數組的創建 數組是一組相同類型元素的集合。 數組的創建方式&#xff1a; type_t arr_name [const_n]; //type_t 是指數組的元素類型 //const_n是一個常量表達式&#xff0c;用來指定數組的大小 數組創建的實例&#xff1a; //代碼1int arr1[10]; …

虛幻引擎5-Unreal Engine筆記之“將MyStudent變量設置為一個BP_Student的實例”這句話如何理解?

虛幻引擎5-Unreal Engine筆記之“將MyStudent變量設置為一個BP_Student的實例”這句話如何理解&#xff1f; code review! 文章目錄 虛幻引擎5-Unreal Engine筆記之“將MyStudent變量設置為一個BP_Student的實例”這句話如何理解&#xff1f;理解這句話的關鍵點1.類&#xff08…

提示詞 (Prompt)

引言 在生成式 AI 應用中&#xff0c;Prompt&#xff08;提示&#xff09;是與大型語言模型&#xff08;LLM&#xff09;交互的核心輸入格式。Prompt 的設計不僅決定了模型理解任務的準確度&#xff0c;還直接影響生成結果的風格、長度、結構與可控性。隨著模型能力和應用場景…

十二、C++速通秘籍—靜態庫,動態庫

上一章節&#xff1a; 十一、C速通秘籍—多線程-CSDN博客https://blog.csdn.net/weixin_36323170/article/details/147055932?spm1001.2014.3001.5502 本章節代碼&#xff1a; cpp2/library CuiQingCheng/cppstudy - 碼云 - 開源中國https://gitee.com/cuiqingcheng/cppst…

什么是繼承?js中有哪兒些繼承?

1、什么是繼承&#xff1f; 繼承是面向對象軟件技術中的一個概念。 2、js中有哪兒些繼承&#xff1f; js中的繼承有ES6的類class的繼承、原型鏈繼承、構造函數繼承、組合繼承、寄生組合繼承。 2.1 ES6中類的繼承 class Parent {constructor() {this.age 18;} }class Chil…

Linux進程通信入門:匿名管道的原理、實現與應用場景

Linux系列 文章目錄 Linux系列前言一、進程通信的目的二、進程通信的原理2.1 進程通信是什么2.2 匿名管道通訊的原理 三、進程通訊的使用總結 前言 Linux進程間同通訊&#xff08;IPC&#xff09;是多個進程之間交換數據和協調行為的重要機制&#xff0c;是我們學習Linux操作系…

探秘Transformer系列之(26)--- KV Cache優化 之 PD分離or合并

探秘Transformer系列之&#xff08;26&#xff09;— KV Cache優化 之 PD分離or合并 文章目錄 探秘Transformer系列之&#xff08;26&#xff09;--- KV Cache優化 之 PD分離or合并0x00 概述0x01 背景知識1.1 自回歸&迭代1.2 KV Cache 0x02 靜態批處理2.1 調度策略2.2 問題…

十大PDF解析工具在不同文檔類別中的比較研究

PDF解析對于包括文檔分類、信息提取和檢索在內的多種自然語言處理任務至關重要&#xff0c;尤其是RAG的背景下。盡管存在各種PDF解析工具&#xff0c;但它們在不同文檔類型中的有效性仍缺乏充分研究&#xff0c;尤其是超出學術文檔范疇。通過使用DocLayNet數據集&#xff0c;比…

HarmonyOS-ArkUI 裝飾器V2 @ObservedV2與@Trace裝飾器

參考文檔: 文檔中心https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V14/arkts-new-observedv2-and-trace-V14#trace%E8%A3%85%E9%A5%B0%E5%AF%B9%E8%B1%A1%E6%95%B0%E7%BB%84由于V2的裝飾器比V1的裝飾器更加易用,盡管學習的過程中用到的都是V1的裝飾器,但…

GPT - GPT(Generative Pre-trained Transformer)模型框架

本節代碼主要為實現了一個簡化版的 GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型。GPT 是一種基于 Transformer 架構的語言生成模型&#xff0c;主要用于生成自然語言文本。 1. 模型結構 初始化部分 class GPT(nn.Module):def __init__(self, vocab…

基于FPGA的六層電梯智能控制系統 矩陣鍵盤-數碼管 上板仿真均驗證通過

基于FPGA的六層電梯智能控制系統 前言一、整體方案二、軟件設計總結 前言 本設計基于FPGA實現了一個完整的六層電梯智能控制系統&#xff0c;旨在解決傳統電梯控制系統在別墅環境中存在的個性化控制不足、響應速度慢等問題。系統采用Verilog HDL語言編程&#xff0c;基于Cyclo…

車載通信系統中基于ISO26262的功能安全與抗輻照協同設計研究

摘要&#xff1a;隨著智能網聯汽車的快速發展&#xff0c;車載通信系統正面臨著功能安全與抗輻照設計的雙重挑戰。在高可靠性要求的車載應用場景下&#xff0c;如何實現功能安全標準與抗輻照技術的協同優化&#xff0c;構建滿足ISO26262安全完整性等級要求的可靠通信架構&#…

Node.js種cluster模塊詳解

Node.js 中 cluster 模塊全部 API 詳解 1. 模塊屬性 const cluster require(cluster);// 1. isMaster // 判斷當前進程是否為主進程 console.log(是否為主進程:, cluster.isMaster);// 2. isWorker // 判斷當前進程是否為工作進程 console.log(是否為工作進程:, cluster.isW…

融合動態權重與抗刷機制的網文評分系統——基于優書網、IMDB與Reddit的混合算法實踐

? Yumuing 博客 &#x1f680; 探索技術的每一個角落&#xff0c;解碼世界的每一種可能&#xff01; &#x1f48c; 如果你對 AI 充滿好奇&#xff0c;歡迎關注博主&#xff0c;訂閱專欄&#xff0c;讓我們一起開啟這段奇妙的旅程&#xff01; 以權威用戶為核心&#xff0c;時…

使用Golang打包jar應用

文章目錄 背景Go 的 go:embed 功能介紹與打包 JAR 文件示例1. go:embed 基礎介紹基本特性基本語法 2. 嵌入 JAR 文件示例項目結構代碼實現 3. 高級用法&#xff1a;嵌入多個文件或目錄4. 使用注意事項5. 實際應用場景6. 完整示例&#xff1a;運行嵌入的JAR 背景 想把自己的一個…

前端大屏可視化項目 局部全屏(指定盒子全屏)

需求是這樣的&#xff0c;我用的項目是vue admin 項目 現在需要在做大屏項目 不希望顯示除了大屏的其他東西 于是想了這個辦法 至于大屏適配問題 請看我文章 底部的代碼直接復制就可以運行 vue2 px轉rem 大屏適配方案 postcss-pxtorem-CSDN博客 <template><div …