自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 遇到的数学公式

1.方差和均值公式: DxEx2−E2x。

2025-03-16 21:58:28 187

原创 成绩统计【蓝桥杯】/数学+二分+前缀和

二分查找答案所在的位置,对于每个位置,将起始到该位置的数从小到大排序,如果要取得的k个数的方差最小,肯定是连续的k个数(在排序了的情况下,如果不是连续的,那换成连续的肯定会更优,因为方差表示的是数据的离散程度),利用数学公式和前缀和计算,如果这个序列有方差小于t的就返回1,否则返回0。

2025-03-16 21:53:35 301

原创 紧急救援【天梯赛】/dijkstra+优先队列

作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0 ~ (N−1);M是快速道路的条数;S是出发地的城市编号;D是目的地的城市编号。

2025-02-13 22:19:57 225

原创 C++软件设置

dev c++设置c++,工具->编译选项->打勾“编译时加入以下命令”->填入“-std=c++11”设置调试,工具->编译选项->选择“代码生成/优化”->选择“连接器”->在“产生调试信息”即第二项选择“yes”调试调试时遇到endl可能会出错,可以写上#define endl ‘\n’添加查看可以对变量值进行观察一维数组的查看方法 数组名 + [0] + @ + 你想要查看数量二维数组的查看方法 数组名 + [0][0] + @ + 你想

2024-12-20 15:30:13 181

原创 拔河【码蹄杯】/二分

思路:二分平均力量值,并在check中利用前缀和判断。

2024-06-22 12:02:01 247

原创 糖果促销【百度之星】/思维

【代码】糖果促销【百度之星】/思维。

2024-06-02 12:37:50 330

原创 第五维度【百度之星】/二分

思路:看到题目是尽可能晚的情况下最早就应该想到贪心。

2024-06-02 11:09:18 359

原创 公园【百度之星】/图论+dijkstra

【代码】公园【百度之星】/图论+dijkstra。

2024-06-01 21:54:44 497

原创 区间移位【蓝桥杯】/二分

接下来我们讨论应该采用什么贪心策略能够正确的判断当前枚举的数值行与不行。,就要想到二分答案。本题是二分搜索结果。

2024-05-31 23:07:07 513

原创 小数第n位【蓝桥杯】

思路:arr数组用来记录已经出现过的a,在循环时及时退出。易知题目的3位即a%=a后的第n-1,n,n+1位。该代码非常巧妙,num记录3位的输出状况。

2024-05-31 21:21:10 644

原创 J.搬砖【蓝桥杯】/01背包+贪心

思路:要让重量更小的在更前面,价值更大的在更后面,vi−wj>vj−wi = vi+wi>vj+wj。第 i 个箱子放在第 j 个箱子下面就显然更优。所以进行排序再用01背包即可。

2024-05-29 22:46:42 744

原创 H.机房【蓝桥杯】/数组链式前向星建图+堆优化版dijkstra

【代码】H.机房【蓝桥杯】/数组链式前向星建图+堆优化版dijkstra。

2024-05-26 21:45:25 220

原创 F.费用报销【蓝桥杯】/01背包

思路:f[i][j]表示前i个票据在容量为j的背包中能占的最大值。

2024-05-25 21:34:53 196

原创 逃跑【蓝桥杯】/链式前向星建图

这一题主要想学习一下链式前向星,附上别人的思路。

2024-05-19 16:10:38 233

原创 抓娃娃【蓝桥杯】/前缀和+lower_bound+upper_bound

这个条件,说明只要区间经过线段中点就肯定能包含它。但有的中点是小数不好处理,于是乘以2。在从大到小的排序数组中,重载lower_bound()和upper_bound()思路:其实就是求区间是否经过线段的中点,因为。

2024-05-19 11:06:40 373

原创 数三角【蓝桥杯】/STL

思路:遍历每一个点,找到把这个点作为顶点,能构成的等腰三角形的个数,再将不合法的点删除。

2024-05-17 09:49:17 463

原创 Tarjan割边

深度优先遍历时从一条边进入这个点,不能从这条边回去。例题:删边问题【蓝桥杯】

2024-05-17 09:20:26 188

原创 G.AB路线【蓝桥杯】/bfs+可重复走

思路:本题和传统的bfs题目不同,本题为了满足题目先走K个A再走K个B,可能需要重复走某个格子才能继续走下去,故vis数组可以多开一维,vis[x][y][z]表示第z次走到x行y列这种情况是否出现过。比如到7这个时,6%(2*k)=0,表示是k次中第0次到达,如果前面已经出现过k次中第0次到达该点这种情况则代表重复了,不行。

2024-05-10 17:22:47 505

原创 欧拉筛选/找到小于n的所有素数

所采用的一个惯用思路是:找到一个素数后,就将它的倍数标记为合数,也就是把它的倍数“筛掉”;如果一个数没有被比它小的素数“筛掉”,那它就是素数。欧拉筛法的大致思路也是如此,就是其中有些细节有差异。欧拉筛法拥有线性的复杂度,而且编码较简单,应用十分广泛。

2024-05-09 22:56:53 254

原创 正则问题【蓝桥杯】/dfs

刚开始用的是栈,没有想到dfs…

2024-04-07 17:01:28 247

原创 填字母游戏【蓝桥杯】/博弈+dfs

【代码】填字母游戏【蓝桥杯】/博弈+dfs。

2024-04-07 16:58:13 486

原创 青蛙跳杯子【蓝桥杯】/bfs

思路:刚开始用的是dfs,但是不太行,DFS 可能会导致搜索深度过深,增加了时间复杂度,BFS 适合求解最短路径问题,BFS 在搜索过程中,首先访问距离初始节点最近的节点,因此可以保证找到的路径是最短的,所以应该选择bfs。本题可以以*为切入点,来进行跳跃。

2024-04-06 12:25:54 295

原创 包子凑数【蓝桥杯】/完全背包

思路:当n个数的最大公约数不为1,即不互质时,有无限多个凑不出来的,即n个数都可以表示成kn,k为常数且不为1。当n个数的最大公约数为1,到了某个数之后就全都可以凑出来。根据本题的数据,可以直接遍历到10010就行。

2024-04-05 16:06:47 466

原创 I.像素放置【蓝桥杯】/dfs+剪枝

思路:利用dfs填入0或者1,并利用数字进行判断,另外这一题数组要从1开始而不是0,这样在num方法中可以少了判断的操作。

2024-03-29 15:01:03 557 1

原创 异或和之和【蓝桥杯】/拆位+贡献法

于是我们可以遍历每个位,本题最多就20个位,同时利用前缀和记录到该数时几个位是1,如果是奇数,那这个数到前面所有数这个区间和这个数减去前缀和为偶数的区间都有贡献,偶数也是,如图。思路:刚开始考虑遍历L和R,同时可以用一个二维数组存储算过的值,但是时间复杂度还是O(n^2),所以这种还是要拆位和利用贡献法。可以对于每个位,一定区间内,如果有奇数个1则异或值为1,有偶数个1则异或值为0,且某个位对这个区间内的贡献为2^i。

2024-03-28 15:05:19 541

原创 高精度算法

例题:P1601【洛谷】

2024-03-23 13:49:44 747

原创 刷题笔记细节

【代码】刷题笔记细节。

2024-03-17 21:25:28 430

原创 H.整数删除【蓝桥杯】优先队列+双向链表

queue注意:当优先队列储存的类型为pair时,先按照first的元素来比大小,first相同再按照second来比。

2024-03-17 15:11:30 510

原创 J.砍树【蓝桥杯】树上差分+LCA

多次对树上的一些路径做加法操作,然后询问某个点或某条边经过操作后的值,就要考虑树上差分了。

2024-03-17 13:14:36 496

原创 最近公共祖先LCA / 倍增法+Tarjan法

LCA(Least Common Ancestors)最近公共祖先问题。指在有根树中,找出某两个结点u和v最近的公共祖先。

2024-03-16 18:36:05 964

原创 F.岛屿个数【蓝桥杯】/dfs+环

小蓝得到了一副大小为 M × N 的格子地图,可以将其视作一个只包含字符‘0’(代表海水)和 ‘1’(代表陆地)的二维数组,地图之外可以视作全部是海水,每个岛屿由在上/下/左/右四个方向上相邻的 ‘1’ 相连接而形成。

2024-03-13 21:01:08 444

原创 E.接龙数列【蓝桥杯】/动态规划

对于一个长度为 K 的整数数列:A1, A2, . . . , AK,我们称之为接龙数列当且仅当 Ai 的首位数字恰好等于 Ai−1 的末位数字 (2 ≤ i ≤ K)。例如 12, 23, 35, 56, 61, 11 是接龙数列;12, 23, 34, 56 不是接龙数列,因为 56的首位数字不等于 34 的末位数字。所有长度为 1 的整数数列都是接龙数列。现在给定一个长度为 N 的数列 A1, A2, . . . , AN,请你计算最少从中删除多少个数,可以使剩下的序列是接龙序列?

2024-03-13 15:33:04 604

原创 LCR 112. 矩阵中的最长递增路径【leetcode】/dfs+记忆化搜索

给定一个 m x n 整数矩阵 matrix ,找出其中 最长递增路径 的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。不能 在 对角线 方向上移动或移动到 边界外(即不允许环绕)。:4:最长递增路径为 [1, 2, 6, 9]。:4:最长递增路径是 [3, 4, 5, 6]。注意不允许在对角线方向上移动。:1。

2024-03-10 11:50:38 560

原创 LCR 101. 分割等和子集【leetcode】/动态规划01背包优化

给定一个非空的正整数数组 nums ,请判断能否将这些数字分成元素和相等的两部分。:true:nums 可以分割成 [1, 5, 5] 和 [11]。:false:nums 不可以分为和相等的两部分。

2024-03-10 09:38:17 426

原创 309. 买卖股票的最佳时机含冷冻期【leetcode】/动态规划

给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。: 3: 对应的交易状态为: [买入, 卖出, 冷冻期, 买入, 卖出]: 0。

2024-03-07 14:57:52 383

原创 123. 买卖股票的最佳时机 III【leetcode】/动态规划难

给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。:6:在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3。:4。

2024-03-06 16:46:50 397

原创 121. 买卖股票的最佳时机【leetcode】/动态规划

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。:5:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;

2024-03-06 15:00:36 407

原创 72. 编辑距离【leetcode】/动态规划难

给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数。:3horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -> rose (删除 ‘r’)rose -> ros (删除 ‘e’):5intention -> inention (删除 ‘t’)inention -> enention (将 ‘i’ 替换为 ‘e’)enention -> exention (将 ‘n’ 替换为 ‘x’)

2024-03-05 21:59:39 468

原创 516. 最长回文子序列【leetcode】/动态规划

给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。:4:一个可能的最长回文子序列为 “bbbb”。:2:一个可能的最长回文子序列为 “bb”。s 仅由小写英文字母组成。

2024-03-04 22:53:39 386

原创 LCR 095. 最长公共子序列【leetcode】/动态规划

给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。:3:最长公共子序列是 “ace” ,它的长度为 3。:3。

2024-03-04 22:13:37 490

空空如也

空空如也

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

TA关注的人

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