自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 第十三届蓝桥杯省赛——积木画(规律题(模拟))

MOD,在加前和加后都要进行%MOD才能过全部用例。则dp[n]=dp[n-1]*2+dp[n-3];注意开 long long!

2024-04-13 00:32:17 115 1

原创 第十三届蓝桥杯省赛——统计子矩阵(前缀和,一维前缀和+滑动窗口)

i-1行跟i1行的不同,这里i1行的大小在变化,那么就可以满足在矩阵中间求出任意大小的矩阵的前缀和。同理,在[i1,j1]位置结尾的元素时的前缀和减去j-1列,i1行为结尾的前缀和,这里就要开始区分。可以理解为在[i1,j1]位置结尾的元素时的前缀和减去i-1行,j1为结尾的前缀和,这里就要开始区分。左上角为(1,1),右下角为(4,4),对应的前缀和为。左上角为(1,1),右下角为(2,2),对应的前缀和为。j-1列跟j1列的不同,这里j1列的大小在变化。假设对应坐标为(x,y)的数据前缀和用来表示。

2024-04-13 00:11:09 215 1

原创 第十三届蓝桥杯省赛——X 进制减法(贪心,模拟)

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考。

2024-04-12 02:12:41 1021

原创 第十二届蓝桥杯省赛——砝码称重(搜索,枚举,dp)

进行每一层的遍历,取出每一层的每一个砝码,对其进行加减,dfs()的方式,用vis()来判断该砝码是否在上面的层数中使用过,用完一层的砝码,就将变为vis[i]=true;//3.加上i位置的砝码,放在另一边,可以称出j重量,dp[i-1][abs(j-arr[i])];//2.加上i位置的砝码放在一边,可以称出j重量,dp[i-1][j+arr[i]];//状态表示:dp[i][j]表示在以i个砝码位置结尾时,能否称出j重量。//1.没有加上i位置的砝码,就可以称出j重量,dp[i-1][j];

2024-04-11 16:57:04 189 1

原创 第十二届蓝桥杯省赛——货物摆放(模拟)

这题真的非常简单,就是找出n的所有因子,然后进行三个数暴力相乘得到结果就ret++如果省赛碰到这题,真的就是白白送分,可是我第一次写还是没能写出来。2.枚举解法:由于只有三个数,那么就枚举以一个数,相乘得到n。最简单的暴力解法,由于n过大,严重超时。小优化:枚举数,只枚举他的因子。

2024-04-11 10:02:03 150 1

原创 第十二届蓝桥杯省赛——直线(模拟)

平面直角坐标系上的两个点可以确定一条直线,进而根据坐标可以确定直线方程y=kx+b。最后一定要加上斜率不存在的时候横坐标就是列的个数一共有20列。注意考虑x2=x1+1,保证效率存在的时候统计直线。统计不同直线的数量即不同{k,b}数据对的数量。其实不难,但是我第一次写的时候还是没能写出来。

2024-04-11 09:20:30 187 1

原创 蓝桥杯第十二届省赛——卡片(模拟+优化)

枚举拼出每一个数字,拆解这个数字的每一位,对应的每一位进行--,当某个数字的计数小于0时,代表当前i无法拼出,上一次拼出来的数就位最大能拼到的数字。怎么说呢,其实这题挺简单,但是要是真的让我在考场自己写,我觉得我可能写不对。在朴素的基础上进行小优化,其实我们只需要考虑消耗1的数量既可。因为1始终时优先消耗或者消耗最多的那个,1一定会最先消耗完。

2024-04-11 09:00:24 147 1

原创 蓝桥杯——砝码称重(背包问题(动态规划(拿还是不拿)))

【代码】蓝桥杯——砝码称重(背包问题(动态规划(拿还是不拿)))

2024-04-10 01:41:03 412 5

原创 动态规划——(小demo:在数组中找出最大值出现的次数(时间复杂度O(N)))最长递增子序列的个数

在nums[i]==maxval时就可以在出现的次数上自增1,如果遇到nums[i]>maxval那么就要更新最大值 maxval=nums[i],和重新定义出现的次数count=1;在最开始,我只是建立一个dp表,并不能完成后面对最长的字符串的计数,也没办法知道他到底有多长。那么在构建状态转移表达式就运用上那个小贪心算法,在寻找len[i]的最大长度时,顺便对count[i]进行次数的更新。并且这个小贪心不只是在更新最长字串的次数时运用,还要再返回最长的子序列中所出现的次数在外层for()循环中运用。

2024-02-26 23:58:40 178 1

原创 在哈希表中运用动态规划(最长定差子序列和最长的斐波那契子序列的长度)

即下表为j,那么我们可以在这个条件下,1.每次都绑定元素b与他的下标j一起放入到哈希表中,或者2.将i位置的元素与下标进行绑定一起放入到哈希表中,这样在哈希表中进行dp,且寻找元素的时间复杂度是O(N)那么在开始,我依旧按照以前思路进行思考,建立dp表,依旧有dp[i]=max(dp[j]+1,dp[i])中进行查找dp[i],dp[i]表示以i位置的元素为结尾的子序列中,最长的等差子序列的长度。//将dp[i]里面的值更新成dp[j],若找到这个元素就hash这个元素的下标,若找不到,就返回0+1。

2024-02-26 23:34:00 609 2

原创 动态规划——子数组系列(单词拆分)

首先根据最后一个位置的情况来划分问题,在i位置结束时,dp[i]:就表示[0,i]区间内的字符串,能否被字典中的单词拼接而成,那么在i位置之前与i位置能分成两个模块,即设j为最后一个单词的起始位置。那么在s[j,i]区间就是最后一个单词的区间,在dp[j-1]就是字符串s[0,j-1]位置判断这个字符串能否被字典中的单词拼接。得出这是dp[i-1]所出现的次数。我们先建立dp[i]表,dp[i]:就表示[0,i]区间内的字符串,能否被字典中的单词拼接而成,能->返回true,不能->就返回false。

2024-02-26 12:54:01 294 1

原创 动态规划——详解斐波那契数列模型(爬楼梯最小花费和解码方法)

我将此类动态规划问题称为建立dp表问题,方法较为固定,只要走好:1:建立dp表;2:初始化(是为了考虑在填表阶段不会出现越界的情况,并且初始化的是dp表的值);3:填表;4:返回值(只要主意好要求返回的是表中最后一个数据还是前一个数据就ok);这四步的总结适用于各类斐波那契额数列模型的问题,我将用以下两个问题分别用两种解题思路来进行剖析。对于此题,我们来分析他的状态,是让求最后下标为i的位置的总花费。

2024-02-23 16:04:46 1064 1

原创 前序遍历二叉树(递归与非递归)

st.empty())条件是满足cur没有到达最后一个左路节点,并且考虑到栈中不是空栈,在内层while(cur)中是为了判断cur是否是最后一个左路节点,并且将所有左路节点都存入栈st中,也将所有遍历的左路节点存入v中。这是前序遍历二叉树的递归代码,思想很简单,就是构建一个子函数fuc(),前序遍历:根 左子树 右子树 ,让它每次都能入根在v中后面不断进行递归左子树,递归完所有左子树后,回头再从最后一个左子树进行左路节点的右子树进行前序遍历。这样并不会影响后面栈中元素的遍历。

2024-02-21 21:30:44 121 1

原创 从前序与中序遍历序列构造二叉树(c++)

TreeNode* _buildTree(vector<int>& preorder, vector<int>& inorder,int& prei,int inbegin,int inend) 来进行递归调用这个二叉树的左子树和右子树,其中prei是判断每次根节点在preorder的下标元素。中rooti为根=0,[inbegin,rooti-1]是中序左子树区间,[rooti+1,inend]是中序右子树区间。当我们在中序中找到根节点后,便开始对根的左子树和右子树进行递归构建。我们可以构建一个函数。

2024-02-21 20:04:19 276

原创 蓝桥杯———烬寂海之谜(查找相同的字字符串的次数)

首先想到就是考虑当在str这个长字符串中找到一个字母能跟字符串的首字母相同,就能继续往后进行判断,在第一个for()循环内,次数在str.size()-st.size()+1次 目的是为了表达在最后不足st长度时就不用再去寻找子字符串,在对于找到str[i]==st[0]时,就可以往后继续判断后续的字母是否满足st的字母,那么就可以用str.substr(i,st.size())函数来进行判断if(st==str(i,st.size()))成立,那么就可以让count++;

2024-02-21 17:47:53 166

原创 环形链表II——求出入环时的入口节点(快慢指针)

首先,我们要了解关于快慢指针的用法,如果我们定义一个快指针fast,一个慢指针slow,在对于快慢指针看法上就要清楚,慢指针走一步,快指针走两步,是否在入环时,快指针就一定追的上慢指针?这里快慢指针不是我们追求的重点,对于此次证明,我直接给出结论,在快指针走两步,慢指针走一步情况下,是能够满足快指针一定追的上慢指针的,但是在快指针走三步,四步,甚至更多时,快指针就有可能会跳过慢指针从而陷入死循环。结论:一个指针从第一个相遇点meet点开始走,一个指针从链表head处开始走,这两个指针会在入口相遇。

2024-01-22 00:58:06 347

原创 蓝桥杯-——2n皇后问题(C语言)

给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。考虑了很久,也借鉴过别人的代码,这是我能总结出来新手最能够简单理解的递归方法,完全只存在循环和判断语句,如果有更好的建议,欢迎留言!接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放皇后。输入的第一行为一个整数n,表示棋盘的大小。

2024-01-20 13:28:16 571

原创 关于我的C语言学习历程

2:面对以后C语言的学习,我打算继续尝试这种独立思考,反复做好题的方法,感觉这是能自我提升的最好办法,其实我也能逐渐理解老师说的 “独立思考” 有多么重要,其实学到后面,我也理解为什么老师一般不回答,在别人问我的时候我也开始厌恶别人问我一个全新的题目,因为我要重新去了解这个未知的题目和字母,我会开始厌烦和反感。6:面对我最想进入的IT公司,我只能说我现在眼界很小,只能认识一些华为,腾讯,小米这种大厂,但对我这种民办二本的学生我知道是种异想天开,所以我也不清楚未来我会选择哪种IT公司。

2023-11-19 00:11:33 137 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除