- 博客(20)
- 收藏
- 关注
原创 2025 蓝桥杯省赛c++B组题解---持续更新中
没有解析的是本蒟蒻还没有完全理解,有疑点或者说不太会的,我会持续更新,尽量把没有解析的补上,如果有大佬会的话可以在评论区分享一下,相互进步,大家也可以说说本蒟蒻没有注意到的地方,开拓一下思路,最后祝大家不断学习,不断进步!【解析】这题看着就是一个简单的模拟,事实也是如此,但是数据范围很大,容易超时,那我们来打表找找规律,你会发现最后他都趋向一个值,这就是榜样学习的力量啊!这道题本蒟蒻目前还没有理解,原本用暴力发现根本行不通,数据范围太大了,运行不出来,太难了,等我再理解理解理解,回来补题解(┭┮﹏┭┮)。
2025-04-13 12:34:36
384
原创 2024年GPLT团体程序设计天梯赛真题--L2
这道题首先的思路是暴力解题,开个矩阵,但是内存会爆,然后我就想着用邻接表来做一下优化,数据能过,但是打个擦边球,要优化cin,cout所用的时间,才能过。还有一种思路是二分,是我借鉴别人的思路,觉得很巧妙。用C++的stl容器map。数据范围小递归暴力求解。
2025-03-20 21:34:04
550
原创 2024年GPLT团体程序设计天梯赛真题--L1
天梯赛L1的题偏向基础,考验基本功,基本上不涉及算法,都是用的基础语法来搞定的,再加上数据范围不大,所以直接可以暴力过。
2025-03-16 17:02:14
769
原创 2024年第七届传智杯程序设计挑战赛复赛(第一场):小苯的糖果游戏(A组、B组、C组)
解题思路:小苯和格格从1走到n,每一步都有两种选法,选或不选,这种思想和01背包很像,因此用01背包的思路来解。dp[i][s]数组的含义就变为当走到第i步且背包的体积是s时的选法的种类。当s<a[i]时,当前dp[i][s]=dp[i-1][s],当s>=a[i]时,dp[i][s]=dp[i][s]+dp[i-1][s-a[i]]。最后将小苯和格格处于相同体积下的dp的相乘即可。
2025-03-01 20:35:44
213
原创 2024年第七届传智杯程序设计挑战赛复赛(第一场):小苯的网络配置(A组、B组、C组)
解题思路:最短路问题用Dijksta算法,这题的难点在于传输记录,怎么确定当前路径就是最短路,并且记录每条分支是不是最短路。观察得到对于每条边 (u,v),如果此边在某条最短路上的话,则一定满足 dist(1,u)+dist(v,n)+w[u,v]=dist(1,n),即最短路从 1 到 u,再从 u 到 v,再从 v 到 n。或者将 u,v 反过来的这个条件也成立。因此我们先预处理从 1 出发的 dijkstra,再预处理一个 从n出发的 dijkstra,求出 n 到所有点的最短路记作 dn。
2025-03-01 20:00:08
488
原创 2024年第七届传智杯程序设计挑战赛复赛(第一场):小苯的数组最值(A组、B组、C组)
2024年第七届传智杯程序设计挑战赛复赛(第一场):小苯的数组最值(A组、B组、C组)
2025-02-25 20:02:48
604
原创 2024年第七届传智杯程序设计挑战赛复赛(第一场):小苯的水果园(B组、C组)
2024年第七届传智杯程序设计挑战赛复赛(第一场):小苯的水果园(B组、C组)
2025-02-25 19:04:31
438
原创 背包九讲问题保姆级解析!!!---(题目分析+代码分享)
什么是背包问题?基本思路做题步骤背包问题的类型1.01背包问题示例题目解析:二维数组空间压缩优化2.完全背包示例题目解析:朴素算法优化3.多重背包题目解析:朴素算法:二进制优化:单调队列优化:三种方法对比:4.分组背包题目解析:一维优化5.混合背包问题6.二维费用背包问题7.求方案数8.求具体方案题目解析:9.有依赖的背包问题题目解析:拓展
2025-02-08 11:42:49
923
原创 贪心算法详解
什么是贪心?基本思想【示例】 例题1:区间选点例题2:最大不相交区间数量例题3:区间分组例题4:区间覆盖例题5: 合并果子例题6:排队打水例题7:货仓选址例题8: 耍杂技的牛
2025-02-03 10:49:07
1091
原创 KMP算法详解
KMP 算法,全称为 Knuth-Morris-Pratt 算法,由 Donald Knuth、Vaughan Pratt 和 James H. Morris 三人于 1977 年联合发表。该算法主要用于在一个主串中快速查找一个模式串是否出现,以及出现的位置,即字符串匹配的问题,其核心思想是利用已经匹配的部分信息,避免不必要的回溯,从而提高匹配效率。基本概念前缀和后缀前缀:对于一个字符串,其前缀是指包含首字母,不包含尾字母所有子串。例如,对于字符串 “abc”,它的前缀有 “a”“ab”
2025-01-24 22:49:54
897
原创 栈与队列(拓:单调栈与滑动窗口)
栈,存储货物或供旅客住宿的地方,可引申为仓库、中转站,所以引入到计算机领域里,就是指数据暂时存储的地方,所以才有进栈、出栈的说法。队列这个就很好理解啦,把它看成我们日常生活中的排队就行啦。
2025-01-24 00:17:44
750
原创 双指针算法
双指针的思想是一种很常见的思想,,是一种在数据结构(如数组、链表等)中使用两个指针来遍历和处理数据的技巧(如二分查找,数据结构的链表,模拟栈中的头节点,尾节点等等)。这两个指针可以按照相同的方向(同向双指针)或相反的方向(相向双指针)移动。大致可以分为快慢指针,左右指针等等,其本质就是通过合理地利用两个指针的移动来减少不必要的遍历。在单指针遍历的情况下,可能需要多次嵌套循环来检查元素之间的关系。而双指针可以利用数据的有序性(如果有的话)或者其他特定条件,通过一次遍历或者少量的遍历就可以找到目标结果。
2025-01-19 23:14:46
253
原创 前缀和算法
最近在做题的过程中发现前缀和的应用非常广泛,并且来说,这一部分的考点一般很长考,但是写题的时候又不容易想到,于是我今天回来复习整理一下其中的思想。
2025-01-17 22:28:38
858
1
原创 前缀和的逆运算——差分
书接上回,对于前缀和来说,它的主要功能是处理区间和问题,那么对于差分来说则是对区间内的数字动手啦!!差分:差分,又名差分函数或差分运算,差分的结果反映了之间的一种变化。同时也是前缀和的逆运算。应用:给指定区间[l,r]中的每个数都加上或减去c,按照朴素算法,一次操作的时间复杂度是O(r-l),假如l足够小,r足够大,一次操作的时间复杂度就是O(n),那么面对n次操作时间复杂度就是O(n^2)了,太慢啦!我们常规操作就是空间换时间,满足守恒定律。
2025-01-17 22:28:17
1179
原创 洛谷P1012 [NOIP1998 提高组] 拼数
而正确答案是4073232121713513(才开始我忘了这个情况,卡了很长时间,于是我就参考了别人的思路,也就是题解二)an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。对于全部的测试点,保证1≤n≤20,1≤ai≤109。将a,b的值进行交换,这是利用sort函数内部进行实现。第二行有n个整数,表示给出的n个整数ai。前备知识:strcmp()函数采用字典序的方法。第一行有一个整数,表示数字个数n。一个正整数,表示最大的整数。将组合的情况两两进行比较。题解二:(100分)
2024-04-29 21:08:20
260
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人