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.mzph.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 …