
蓝桥杯
文章平均质量分 65
openallzzz
计算机交流群:743998243,2023CCPC河北省大学生程序设计竞赛银牌、2022CCPC河北省大学生程序设计竞赛铜牌、第十四届蓝桥杯C++B组河北省赛一等奖(全省22名)、第十四届蓝桥杯C++B组决赛国家二等奖、笔试辅导、教学+邮箱:zythrough@gmail.com
展开
-
蓝桥杯经验贴(第十四届蓝桥杯C++B组)
尽量保持每天都刷过题,不要去刷无意义的题,一定要有针对性的刷题,比如你觉得图论掌握的不好,那一定是第二天去找找图论方面的题先做,如果不会,去弄清楚自己为什么不会,然后再去学习相关的知识点,最后再靠自己学会的知识来把这一题过掉。算法的学习:如果你还不清楚基础的算法有哪些,比如二分、前缀和、双指针、差分这些听起来很陌生,那么最好先系统学习一下算法,可以在牛客、AcWing、B站上观看和购买相应的课程来学习,省赛和国赛的留给你们的备赛期都很长,如果用心的话,足够学习完这些简单的算法了。原创 2023-06-23 13:52:02 · 1397 阅读 · 0 评论 -
第十四届蓝桥杯C++B组国赛【填空题】
遗憾的是,考场上这两题都写错了,大学四年的算法竞赛经历大概率要以蓝桥杯国赛两道填空题全错来结尾了,下半年大四再投入到算法方面的概率就很小了,最后希望年轻的小伙伴们能够投身于自己喜欢的事情上。原创 2023-06-10 19:11:19 · 441 阅读 · 4 评论 -
【备战蓝桥杯国赛-国赛真题】迷宫
问题转化成图论,等价于一个连通图中的每条边的权值都是1,要求每个点到一个特定点的最短距离总和,由于每条权值都为1,这样的最短路我们可以用BFS来求,但是要求所有点到一个确定点的最短距离,如果对每一个点都进行一次BFS,那么时间复杂度会是2000 ^ 3,超时,我们反过来思考,这等价于以确定点开始,求其到其他所有点的最短路,这就很好写了,我们以确定点为起点开始BFS即可。原创 2023-05-16 14:30:46 · 169 阅读 · 0 评论 -
【备战蓝桥杯国赛-国赛真题】游园安排
从数据范围可以知道,最多有1e6个单词,用普通的n^2写法只能拿到70%的分数,显然,要拿到全部的分数,需要用二分优化的写法,并且该题需要输出方案,一般的dp问题输出方案,都是倒序从最终态往最初态逆推,但是该题的二分写法不需要用到状态数组,我们需要一个记录状态的数组record,其中record[i]表示当前位置i是长度为r + 1的上升子序列的最后一个字符串的下标(从0开始),然后我们从最长的LIS长度开始往前逆推即可。原创 2023-05-09 20:33:22 · 144 阅读 · 0 评论 -
【备战蓝桥杯国赛-国赛真题】补给
由过算法学习经历的同学应该很清楚,这题实际上是一道旅行商问题,是np-hard的,所以我们的解决方案也就确定了,是动态规划,并且是状态压缩的动态规划,我们定义数组f[1原创 2023-05-08 21:48:29 · 401 阅读 · 0 评论 -
【备战蓝桥杯国赛-国赛真题】费用报销
DP的题目往往很容易辨识出来,所以我们就往DP上想了,第一要素是选出的所有票据里面,任意两个票据之间相隔的天数(根据日期判断)不能小于。,这样就很直接了,我们对这些票据进行排序,根据的是它们的日期谁更小,具体的是当前日期是这一年的第。越小则排在越前面,这样排完序后,我们就可以进行按顺序的选取了,具体的,如果当前枚举票据。:从前i个票据中选取若干个是否存在能凑成价值为j的方案,这样的话状态计算的就很直接了。读完题,再看一眼数据范围,这道题的做法也就确定了——DP。原创 2023-05-03 22:01:42 · 576 阅读 · 0 评论 -
【备战蓝桥杯国赛-国赛真题】出差
坑点:本题的代码最开始是使用堆优化版的Dijkstra写的,但是在dotcpp网站上总是有三个点超时,我百思不得其解,后来联系到了网站的管理员,想了解一些这三个测试数据的特点,但是管理员目前还没有回复我关于数据的问题,后来我在蓝桥杯官网上测试了本题的堆优化代码,全部通过(AC),我想着总是有三个点过不去,不大完美,后来增加了朴素版的Dijstra代码,最终在dotcpp上成功全部通过(AC)。,另外,题目中说明了目标点n的隔离时间不计,需要注意,处理的时候我们将点n的隔离时间标记为0即可。原创 2023-05-03 17:31:29 · 344 阅读 · 0 评论 -
【备战蓝桥杯国赛-国赛真题】最大数字
我们的目标通过若干次的两类操作(有次数限制),使得最终的数字尽可能大,而数字的大小与数的位数有关,并且处于高位的数字需要尽可能的高。接下来就是代码部分了,使用爆搜就可以,2^17的复杂度很友好,如果对下面中的代码有不理解的地方,欢迎大家交流。原创 2023-04-30 23:38:52 · 278 阅读 · 0 评论 -
【备战蓝桥杯国赛-国赛真题】卡牌
我们可以知道,如果空卡牌的数量足够多,并且每种卡牌可以手写的数量也足够多,那么可以凑出的整套卡牌的数量就越多,也就是限制越少,可以获得的整套卡牌数量就越多,反之,限制越大,比如提供的空卡牌数量给越少或者每种卡牌可以手写的数量越少,能够凑出的卡牌数量就不会增加的越多,进而凑出的整套卡牌数量就不会变得更多,读到这里,我们就可以使用二分来解决本题了,我们二分可以凑出得到整套卡牌数量mid,每次判断mid套卡牌是否可以被凑出来即可。二分的check函数比较直接,具体实现见代码部分。原创 2023-04-28 12:08:05 · 243 阅读 · 0 评论 -
【备战蓝桥杯国赛-国赛真题】2022
题目的一是就是从1~2022这2022个数中挑选十个数,使其的总和为2022,如果做过背包问题,那么思路就很好出来了,每个数无非就是选与不选,每个数有他们的权值,权值就等于它们本身的值,抽象成背包问题就是,每个物品只能选一次,且只能选十个,不能少也不能多,最终这十个数的综合为2022。原创 2023-04-27 21:12:42 · 656 阅读 · 0 评论 -
【蓝桥杯真题】包子凑数(裴蜀定理、动态规划、背包问题)
每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。比如一共有3种蒸笼,分别能放4、5和6个包子。不等于1,那么他们不存在不能够凑出的最大数,等价于不能够凑出的包子数量为无限个INF(infinity)。个包子可以被凑出,因为我们不需要选择任何蒸笼就已经凑出。原创 2023-03-27 00:22:29 · 862 阅读 · 0 评论 -
第十四届蓝桥杯第三期官方模拟赛C\C++题解
第三届蓝桥杯官方模拟赛是一项计算机编程竞赛,本次比赛的 C/C++ 题目涵盖了数据结构、算法和编程基础等多个方面。其中,数据结构方面包括链表、栈、队列和堆等;算法方面包括贪心、动态规划和搜索等;编程基础方面则包括字符串处理和文件读写等。本次比赛的题目难度较高,需要参赛者具备一定的编程基础和实践经验。同时,本次比赛还为参赛者提供了详细的题解和样例代码,帮助参赛者更好地理解和掌握解题思路。原创 2023-02-27 22:27:36 · 5937 阅读 · 23 评论 -
蓝桥杯练习系统 【试题】【算法训练】 礼物
(也就是前半段的最后一个元素位置或者理解成前半段的右端点),二分地考虑前半段的左端点在哪里,由于元素非负,则前缀和数组是单调增加的,在。需要在一个非负的整数数组中选择一个长度为偶数的子数组,这个子数组需要满足前一半元素的和需要小于等于。回到问题,很直观的是我们可以枚举答案子数组中间靠左的一个元素位置。是满足条件的,我们可以取到这种情况下的左端点位置。的左侧找左端点的过程中,如果二分出来的左端点。左半部分考虑结束,右半部分的考虑是类似的。,并且后一半元素的和需要小于等于。过小,使得前半段的和。原创 2023-02-06 21:28:23 · 757 阅读 · 0 评论 -
第十四届蓝桥杯第二期模拟赛题解
第十四届蓝桥杯第二期模拟赛题解原创 2022-11-22 14:46:38 · 3220 阅读 · 6 评论 -
第十四届蓝桥杯第一期模拟赛题解[官方模拟赛]
14届蓝桥杯、第一期模拟赛、题解C++、Java、算法原创 2022-11-15 00:08:14 · 2996 阅读 · 0 评论