2023蓝桥杯大学A组C++决赛游记+个人题解

news2025/1/26 15:46:31

Day0

发烧了一晚上没睡着,感觉鼻子被打火机烧烤一样难受,心情烦躁

早上6点起来吃了个早饭,思考能力完全丧失了,开始看此花亭奇谭

看了六集,准备复习数据结构考试,然后秒睡

一睁眼就是下午2点了

挂了个毛概课串讲,点了个外卖,吃完又睡着了

醒来就晚上8点了

然后又点了个外卖,复习了三章数据结构

就凌晨2点了,睡觉

Day1

7:40醒,被催着上了车,精神恍惚

然后开始考试

第一题

第一题就被难到了

分割圆形,以为是卡特兰数,但又觉得不一样

不给样例,题意也不是很清楚啊。。。

随便推了推

首先,连接相邻两个点的边(外圈)肯定得单独拿出来考虑,也就是2^n种外圈情况

然后设f[n]表示n边形内部划线不相交的方案数

简单推推得到f[n]=2*f[n-1]+Σf[i+1]*f[n-i+1]

f[3]=1;f[4]=3;.........

也不知道对不对,反正这么写了

最后好像是1392(可能是错的)

第二题

求2^(3^(4^(……^2023)))%2023

扩展欧拉定理

没什么好说的,背不到公式了

(翻了翻以前的博客)

 emm……犯了一个扩展欧拉定理的典型错误

没加phi(p)

所以答案好像是869?

后面补的代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int gcd(int x,int y){return !y?x:gcd(y,x%y);}
int phi(int n)
{
	int sum=0;
	for(int i=1;i<n;i++)
		if(gcd(i,n)==1)
			sum++;
	return sum;
}
int ksm(int x,int y,int m)
{
	int ret=1;
	while(y){
		if(y&1)ret=1ll*ret*x%m;
		x=1ll*x*x%m;y>>=1;
	}
	return ret;
}
int minksm(int x,int y,int m)
{
	int ret=1;
	while(y){
		if(y&1)ret=min(1ll*ret*x,1ll*m);
		x=min(1ll*x*x,1ll*m);y>>=1;
	}
	return ret;
}
const int mod=2023;
pair<int,bool> f(int n,int m)
{
	if(m==1)return pair(1,1);
	pair<int,int> p=f(n+1,phi(m));
	int b=p.first;
	if(p.second) b+=phi(m);
	printf("%d^%d\n",n,b);
	if(minksm(n,b,m)==m)
		return pair(ksm(n,b,m),1);
	return pair(ksm(n,b,m),0);
}
int main()
{
	printf("%d",f(2,2023).first);
}

(所以搞了40分钟填空题是一分没得是吧)

第三题

把长方形分割成小正方形,让小正方形的数量最多

寻找大于2的最小公因数(没错是最小)

然后直接除一除就结束了

第四题

给出L,R

求x+y=z算式的数目(L<=x,y,z<=R)

数学题,稍微推一推就好

这题极度阴间,小心爆你的longlong(针对某些特定的写法)

第五题

第K小的和

给两个数组A,B。

从A、B中各选一个数加起来,组成C数组,求C数组中第K小的数。

二分答案+two-pointers,注意边界条件的验证

第六题

相连的边

给出一棵带权树,选择相连的三条边,让他们的边权和最大。

首先这三条边只可能是一条链,或者是菊花图

菊花图直接对每个点的相连的边排序

把树定根后,链的情况分两种,一种是直链,一种是有LCA的链

直链的情况直接枚举每个点,向上走三步统计边权

有LCA的情况,其实是两种直链的情况加起来,一边直链长度是2,另一边是1

枚举长度为2的直链,即枚举每个点向上走两步,然后在爷爷节点选择除去走上来的边的最大邻接边即可

注意细节处理。

第七题

01游戏

题目保证有解

直接爆搜

剪枝很多,横竖相连三个不能相同,每行的01个数不超过一半,算完每行每列用二进制val值去重

从11点10写到11点40

最后时间10*10的全下划线不到0.5s

第八题

求一个字符串中长度为i的本质不同的子串的个数(i=1~n)

应该是SAM板题,可惜我背不到了,老了啊┭┮﹏┭┮

写了个双哈希n^2logn,能过4000都顶天了

第九题

求一棵树中距离为i的简单路径条数(i=L~R)

点分治板题,可惜我背不到了,老了老了

暴力n^2走人,居然还有40%

md,lqb出题这么这个样子???尽是出板题是吧???欺负我退役多年的老同志

第十题

本来只剩20分钟了,想着暴力也不是很好写,于是想了想正解,发现正解不难

状压DP,SPFA型转移

f[u][S][hp]表示当前在点u,存在怪兽的点的状态为S,当前血量为hp

很显然

(u,v)存在时:

if(S&(1<<v))

        f[v][S-(1<<v)][hp-cal(S,v)]=min(f[u][S][hp]+w(u,v))

else

        f[v][S][hp]=min(f[u][S][hp]+w(u,v))

然后就利用SPFA转移

最后答案应该是max(f[n-1][……][1~HP])

最后没写完,哪怕前面填空题不做也好啊,最后留个10~20分钟就搞定了,太菜了

总结

总之就是非常菜,简单题背不到公式,板题背不到板子,题目都写不完,太菜了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/631963.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

交通 | GAMS快速入门及其在运输问题求解的应用

推文作者​&#xff1a;AmieeXue 第一部分 GAMS编程求解运输问题 GAMS&#xff0c;全称The General Algebraic Modeling System&#xff0c;是一款通用的高级数学建模工具&#xff0c;它支持线性规划、非线性规划、混合整数规划问题、二次约束规划&#xff08;QCP&#xff09;…

《面试1v1》List

我是 javapub&#xff0c;一名 Markdown 程序员从&#x1f468;‍&#x1f4bb;&#xff0c;八股文种子选手。 《面试1v1》 连载中… 面试官&#xff1a; 小伙子,听说你对Java集合挺在行的? 候选人&#xff1a; 谢谢夸奖,我对Java集合还在学习中,只能算入门水平。特别是List这…

vue 3 第三十五章:集成 tailwind Css

文章目录 1. tailWind css介绍2. tailWind css基本使用2.1. 步骤一&#xff1a;安装Tailwind CSS2.2. 步骤二&#xff1a;创建配置文件2.3. 步骤三&#xff1a;配置PostCSS2.4. 步骤四&#xff1a;引入样式文件2.5. 步骤五&#xff1a;模板中使用tailWind css 3. 补充3.1. 语法…

【P60】JMeter Jtl 文件的 html 格式输出

文章目录 一、汇总报告&#xff08;Summary Report&#xff09;参数说明二、准备工作三、测试计划设计四、Jtl 文件的 html 格式输出 一、汇总报告&#xff08;Summary Report&#xff09;参数说明 可以查看事务或者取样器在某个时间范围内执行的汇总结果 使用场景&#xff1…

Shell脚本攻略:Linux防火墙(二)

目录 一、理论 1.SNAT 2.DNAT 3.tcpdump抓包工具 二、实验 1.SNAT实验 2.DNAT实验 3.tcpdump抓包 一、理论 1.SNAT &#xff08;1&#xff09;概念 SNAT又称源地址转换。 源地址转换是内网地址向外访问时&#xff0c;发起访问的内网ip地址转换为指定的ip地址 &#…

【软考系统规划与管理师笔记】第6篇 IT服务部署实施

这章基本也是管理概念&#xff0c;考试内容基本以教材为主 1 概述 IT服务部署实施是衔接IT服务规划设计与IT服务运营的中间阶段&#xff0c;负责对服务组 件进行客户化&#xff0c;并在充分满足客户要求的前提下&#xff0c;使用标准化的方法管理人员、资源、 技术和过程&…

【超简单的串口通信的工作原理】

上图是电脑收到来自微控制器经过串口发送的信息&#xff0c; 那么电脑是如何收到这些数据的呢&#xff1f; 任何一种通信都要包括硬件物理接口和软件通信协议。 串口通信物理接口如下图&#xff1a; 微控制器与电脑的通信仅需1根数据线将数据一位一位按顺序发送&#xff0c;称…

matlab的矩阵常用操作方法

matlab中数据的基本格式是矩阵&#xff0c;行向量、列向量和标量都是矩阵的特例。矩阵可以是二维的&#xff0c;也可以是多维的。 &#xff08;1&#xff09;查找矩阵中的元素 ①find函数 在matlab中&#xff0c;可以调用find函数在矩阵中查找满足一定条件的元素&#xff0c…

#创作纪念日# 我的创作128天纪念日

我的创作128天纪念日 机缘收获日常成就憧憬 机缘 小升初时&#xff0c;我开始接触编程&#xff0c;进入了一个全新的世界。刚开始学习编程时&#xff0c;我只是对电脑的一些操作比较感兴趣&#xff0c;但慢慢地&#xff0c;我开始对编写程序、设计算法产生了浓厚的兴趣。在实践…

创新研报 | 如何激发中国半导体企业发展潜力从而获得竞争优势,领跑新一轮增长?

近年来&#xff0c;伴随网络化、信息化、智能化飞速发展&#xff0c;半导体的应用领域不断拓展&#xff0c;在全球经济及社会发展中的重要性与日俱增。与此同时&#xff0c;越来越多的国家纷纷加码半导体&#xff0c;各个国家在半导体价值链中拥有不同的竞争优势。目前&#xf…

AI-Prompt 1.0 版简介公测!你的AI提示词网站!

提示词&#xff08;Prompt&#xff09; 是什么&#xff1f; 在 AI 大模型中&#xff0c;一个 prompt 是一个输入文本&#xff0c;用于触发模型生成输出。例如&#xff0c;当我们向一个 AI 大模型提交需求时&#xff0c;我们的需求就是一个 prompt。 在介绍产品之前&#xff0c;…

C++:二叉搜索树(非平衡化)

文章目录 一.二叉搜索树(key_value模型)二.二叉搜索树的节点删除三.二叉搜索树类对象其他接口构造函数,析构函数和赋值运算符重载节点插入接口和节点查找接口key_value模型二叉搜索树类模板总体代码 四.未经平衡化的二叉搜索树的缺陷 一.二叉搜索树(key_value模型) 树的节点定…

华为OD机试真题B卷 JavaScript 实现【数据最节约的备份方法】,附详细解题思路

一、题目描述 有若干个文件&#xff0c;使用刻录光盘的方式进行备份&#xff0c;假设每张光盘的容量是500MB。 求使用光盘最少的文件分布方式&#xff0c;所有文件的大小都是整数的MB&#xff0c;且不超过500MB&#xff0c;文件不能分隔、分卷打包。 二、输入描述 每组文件…

mysql服务器启动和关闭

Windows 系统下启动停止 MySQL 服务的方式主要有以下两种&#xff1a; 通过计算机管理方式通过CMD命令行方式 备注: 测试数据库版本为MySQL5.7。 安装mysql服务器版本5.7成功&#xff0c;且加入系统变量成功之后&#xff0c;按照以下步骤启动/停止服务器。 一、通过计算机管…

Xubuntu22.04之绘制正弦波(一百七十八)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

测试人生 | 三十而已,何需惧怕!年薪40W+涨薪幅度超40%

关于我&#xff0c;普通二本&#xff0c;非计算机专业&#xff0c;培训出身&#xff0c;北漂&#xff0c;五年多的工作经验&#xff0c;做过外包&#xff0c;中间有过频繁的跳槽经历&#xff0c;手工点点点为主&#xff0c;最近确认了新Offer&#xff0c;远程办公&#xff0c;涨…

G - 1-n数组

第四次题组 [Cloned] - Virtual Judge (vjudge.net) 【题目描述】 给你一个数组一个a[n]组成n正整数。您可以对其执行操作。 在一个操作中&#xff0c;您可以替换数组的任何元素一个我​跟⌊/2​​⌋ 看看您是否可以多次应用该操作&#xff08;可能操作为0&#xff09; 来制…

Apache Commons CSV 基本使用

Apache Commons CSV 基本使用 文章目录 Apache Commons CSV 基本使用一、概述1、简介2、主要特点3、官方资料 二、基本使用1、引入依赖2、读取 .csv 文件文件内容读取文件 3、写入文件写入文件写入结果 一、概述 1、简介 Apache Commons CSV是Apache软件基金会的一个开源项目…

Android——认识Android (Android发展简介)(一)

如果想要学习好Android开发&#xff0c;首先需要能够熟练应用以下的几个知识&#xff1a; JavaSE : 理解面向对象&#xff0c;掌握网络通信&#xff0c;掌握集合&#xff0c;掌握IO操作&#xff0c;要懂得图形化界面swing。 JavaEE&#xff1a;也需要一定的了解&#xff0c;以…

mysql简单入门常见的语句使用

一、安装mysql 二、数据库操作 1、进入本地数据库 win r 运行cmd.exe 输入命令 mysql -uroot -p 敲回车&#xff1b;随后输入密码&#xff1b; -u用户名 -p密码; 1.1 连接远程数据库:mysql -h ip地址 -u 用户名 -p mysql -h 10.10.25.159 -u root -p root-h主机名…