您的位置: 首页> 资讯 > 正文

【全球快播报】蓝桥杯赛前总结: 记录一些经典算法(一)

2023-04-05 16:14:42 来源:哔哩哔哩

还有几天就打蓝桥杯了, 这里就记录一下个人备赛训练中学到的算法小寄巧~ 这里只是基于个人的总结, 看完之后不一定能拿奖。。。当然结果啥的并不重要, 重要的是学到的算法思路和优化的技巧, 帮助你在日后写出更优美高效的代码。

目录:

* 图论


(相关资料图)

* 二分搜索

* 前缀和与差分

* 并查集

图论

图论里面最经典的问题就是最短路径了, 求最短路径的两种算法思想, 一种是基于贪心算法的dijkstra, 另外一种是基于动态规划的 Floyd 和 Bellman-ford。

dijkstra 的算法过程:

dijkstra一般用来解决单源最短路径问题(边权一定要为正数), 首先我们定义一个数组 dist, 然后我们再定义一个集合 S, 我们首先把源点的距离(dist数组)设置为 0 然后放入集合 S 中.

之后我们在 集合 S 中 找到一个没有访问过且 dist最小的一个节点, 对这个节点进行松弛操作并更新 dist 数组, 最后标记为已访问过。

重复以上过程 n - 1 次。

经典模板题:

https://www.lanqiao.cn/problems/1460/learning/?page=1&first_category_id=1&sort=students_count&name=%E8%B7%AF%E5%BE%84

Bell-ford实际上是动态规划, 我们定义 dp 方程:

dp[i][j]: 在第 i 步内到达 节点 j 的最短路径.

其中 j 是 v 的某一条邻边, 定义 cost(v, j) 为v 到 j 的路径:

dp[i][j] = min(dp[i][j], dp[i - 1][v] + cost(v, j))

我们可以对其进行状态压缩:

dp[j] = min(dp[j], dp[v] + cost(v, j)

于是我们发现这不就是松弛操作吗?

那么就相当于对每条边进行松弛操作, 所以说 Bellman-ford 更像是暴力法, 时间复杂度会比 Djikstra高:

二分搜索

对于二分查找如果我们要找某个元素是否在一个数组中, 这很容易实现。但一般问题需要在数组查找满足条件的某个区间的左端点或者右端点, 这时候就要注意好循环时更新区间的细节,不然很容易出现死循环。

当我们要获取满足条件的左端点时: 

列如:在升序数组中找到第一个不小于target的索引:

nums = [5,7,7,8,8,10], target = 8; ans = 3;

对于这个问题我们不要死记硬背, 我们来直观地理解一下:

当 arr[mid] < val 时, 我们才会更新 left, 我们已上面为例子, 那么会出现两种情况:

1. 当 mid 取到索引 2 时, 此时元素是 7, 那么l = mid + 1 = 3, 之后我们只会更新 r, 当出现 l = r - 1时, 我们更新 mid = (l + r) >> 1 (向下取整), 那么最后的 l 是 3。 (证明了此时答案为左端点)

索引: 0  1  2  3  4   5

元素: 5  7  7  8  8  10

2. 当 mid 没有取到索引 2 时, 此时我们的 l 最终一定会落在索引 2, r 会落在索引3, 此时我们更新 mid = (l + r) >> 1 (向下取整), 此时 mid = 2, l = mid + 1 = 3, 那么最后的 l 是 3。 (证明了此时答案也为左端点)

索引: 0  1  2  3  4   5

元素: 5  7  7  8  8  10

当我们要获取满足条件的右端点时:

列如:在升序数组中找到最后一个不大于target的索引。

nums = [5,7,7,8,8,10], target = 8; ans = 4;

证明和上面的一样。。。此时 mid = (l + r + 1) >> 1 为向上取整了, 所以取得了右端点.

当然,也可以这样理解: 

当我们要取左端点时(对应上面的第一种), 我们满足条件了那么 r = mid 说明我们不再往>r的方向找了, 没满足条件我们就使得 l = mid + 1继续搜索。

当我们要取右端点时(对应上面的第二种), 我们满足条件那么 l = mid 继续搜索直到获取到满足条件的最大下标, 没满足条件我们就使得 r = mid - 1 继续搜索.

例题:

1.分巧克力:

前缀和与差分

一维前缀和

预处理出s[],s[i]存储前i个数的和:

计算[l,r]区间和:

二维前缀和

左上角坐标为(1,1),右下角坐标为(i,j)的前缀和(区域内所有数的和)

求左上角坐标为(x1,y1),右下角坐标为(x2,y2)的前缀和

例题: 统计子矩阵

给定一个 N×M 的矩阵 A, 请你统计有多少个子矩阵 (最小 1×1, 最大N×M) 满足子矩阵中所有数的和不超过给定的整数 K ?

一维差分

二维差分

并查集

并查集是一种优美的数据结构, 在之前的 leetcode 题解中介绍过:

leetcode赛后补题: 322周赛题解 - 哔哩哔哩 (bilibili.com)

例题: 七段码:

https://www.lanqiao.cn/problems/595/learning/

我们首先建图, 然后只需要dfs枚举出所有的亮灯情况, 判断亮灯的部分是否是一个连通块即可:

关键词:

资讯
业界
企业
骑闻
产品
【全球快播报】蓝桥杯赛前总结: 记录一些经典算法(一)
还有几天就打蓝桥杯了,这里就记录一下个人备赛训练中学到的算法小寄巧~这里只是基于个人的总结,看完之后不一定能拿奖。。。当然结果啥的并不重
2023-04-05
吃一口等于十袋盐,很多人却天天吃,专家:不想骨骼成“空洞”,尽量少吃
“我不吃!让我去死吧!”小张躺在床上,一把将母亲端来的饭推开,歇斯底里的怒吼着,这已经是出院后的第二天了,他依旧不吃东西,从他的眼神
2023-04-05
焦点消息!塔图姆:我防不住恩比德 他带领球队取得了胜利
塔图姆:我防不住恩比德他带领球队取得了胜利,美国篮球,乔尔·恩比德,杰森·塔图姆,国际篮球赛事,波士顿凯尔特人,奥林匹克运动会
2023-04-05
lpr定价基准转换是什么意思(lpr定价基准转换是什么意思啊)_资讯推荐
现如今,许多人买房都是选择贷款的,因为贷款买房能够减轻经济压力的,只要交利息就可以的。但是如今,五家国有大行均发布
2023-04-05
当前热文:第三届消博会亮点抢先看释放提振消费积极信号
新华社北京4月3日电题:第三届消博会亮点抢先看释放提振消费积极信号新华社记者谢希瑶、吴茂辉展览面积比上届增长20%、来自60多个国家和地区的
2023-04-05
4月4日基金净值:广发价值领先混合A最新净值1.7991,跌0.17%|全球微速讯
4月4日,广发价值领先混合A最新单位净值为1 7991元,累计净值为1 7991元,较前一交易日下跌0 17%。历史数据显示该基金近1个月下跌1 47%,近3个
2023-04-05
  中新网海口1月23日电(符宇群)海南省第六届人民代表大会第五次会议23日在海口举行第二次全体会议。海南省人民检察院检察长张毅在作报告
2022-01-24
  中新网太原1月23日电 (高雨晴 冉涌 张鹏宇)记者23日从国网山西省电力公司获悉,该公司冬奥保电应急发电队伍已到达河北张家口赛区,
2022-01-24
  中新网西宁1月23日电 (记者 李江宁)据青海省地震局23日消息,中国地震台网正式测定,北京时间2022年1月23日10时21分,在青海海西州德
2022-01-24
  中新网贵阳1月23日电 (周燕玲)对外开放,是内陆开放型经济试验区贵州正在召开的两会热点词汇,如何拓展海内外“朋友圈”助力贵州经济
2022-01-24
温馨生活好young 厦门推广文旅产品火爆全网
  中新网厦门1月23日电 (记者 杨伏山)“冬日暖阳厦门好young”福建省内宣传推广线下活动22日精彩收官。主办方称,本次活动火爆全网及福
2022-01-24
宁夏非遗传承人:刻刀里的守正创新更有“年味”
  (新春见闻)宁夏非遗传承人:刻刀里的守正创新更有“年味”  中新网银川1月23日电 题:宁夏非遗传承人:刻刀里的守正创新更有“年味
2022-01-24
沧州:8个重大科技专项项目确定 引领经济社会高质量发展
为充分发挥科技在经济社会高质量发展中的引领和支撑作用,沧州市确定8个项目为2021年全市重大科技专项项目。这8个重大科技专项项目分别为:
2022-03-19
  中新网海口1月23日电(王子谦 符宇群)海南省高级人民法院院长陈凤超23日说,2021年海南法院为自贸港建设提供坚强司法保障,全年有效管
2022-01-24
  新华社武汉1月23日电(记者王贤)随着春节假期临近,从广州、深圳等地返回湖北的旅客较多。为此,23日,武汉站、汉口站、襄阳东站、十堰
2022-01-24
  1月22日0—24时,广东省新增本土确诊病例3例和本土无症状感染者1例,均为珠海报告。23日,珠海市疫情防控新闻发布会上,珠海市政府副秘
2022-01-24
青海海西州德令哈市发生3.7级地震
  据中国地震台网正式测定,1月23日11时58分在青海海西州德令哈市发生3 7级地震,震源深度9千米,震中位于北纬38 40度,东经97 35度。
2022-01-24
  北京2022年冬奥会和冬残奥会颁奖花束已于近期完成交付。与传统的鲜切花不同,这些花束全部采用上海市非物质文化遗产“海派绒线编结技艺
2022-01-24
澳华内镜: 股东减持股份结果公告(千骥创投)-天天短讯
证券代码:688212      证券简称:澳华内镜           公告编号:2022-062              上海澳华内镜股份有
2022-12-07
恩捷股份12月6日获深股通净卖出3.72亿
(原标题:恩捷股份12月6日获深股通净卖出3 72亿)同花顺(300033)iFinD数据显示,12月6日,恩捷股份(002812)现身深股通十大成交活跃股,位
2022-12-06
  中新网宿迁1月23日电 (刘林 张华东)核酸检测是当下及时发现潜在感染者、阻断疫情传播的有效方法。23日,记者从宿迁市宿豫区警方获悉
2022-01-24
  记者从天津市人社局获悉,从明天(24日)起,天津2022年度第一期积分落户申报工作正式开始,这是新修订的《天津市居住证管理办法》《天津
2022-01-24
  中新社北京1月23日电 (记者 刘亮)记者23日从中国海关总署获悉,2021年,中国海关组织开展“国门绿盾”专项行动,在寄递、旅客携带物
2022-01-24
  记者从天津市疫情防控指挥部获悉,天津疫情第341—360例阳性感染者基本信息公布。  目前,这20例阳性感染者已转运至市定点医院做进一
2022-01-24
  中新网西宁1月23日电 (记者 孙睿)据青海省地震台网测定,2022年1月23日10点21分(北京时间)在青海省海西州德令哈市(北纬38 44度,东经
2022-01-24
江西南昌:市民赏年画迎新年 书法家挥毫送春联
  (新春见闻)江西南昌:市民赏年画迎新年 书法家挥毫送春联  1月23日,“赏年画过大年”新年画作品联展江西南昌站活动在江西省文化馆
2022-01-24
  中新网成都1月23日电 (祝欢)成都市第十七届人民代表大会第六次会议23日在成都举行,成都市中级人民法院院长郭彦与成都市人民检察院检
2022-01-24
列车临时停车3分钟救旅客
  (新春见闻)列车临时停车3分钟救旅客  中新网广州1月23日电 (郭军 黄伟伟)“车长,车长,4号车厢有位旅客腹涨难忍,身体不舒服”…
2022-01-24
女子背负命案潜逃24年 因涉疫人员核查落网
  中新网湖州1月23日电(施紫楠 徐盛煜 赵学良)1998年7月,犯罪嫌疑人杜某因家庭琐事,用菜刀将自己的弟媳砍伤致死。案发后,她从老家河
2022-01-24
广东“00后”雄狮少年锤炼功夫迎新春
  (新春见闻)广东“00后”雄狮少年锤炼功夫迎新春  中新社广州1月23日电 题:广东“00后”雄狮少年锤炼功夫迎新春  作者 孙秋霞 
2022-01-24
03-19 2022岳阳国际旅游节开幕 特色农产品展销等系列活动目不暇接
2022岳阳国际旅游节开幕 特色农产品展销等系列活动目不暇接
今天,天下洞庭岳阳市君山区第九届良心堡油菜花节暨2022岳阳国际旅游节开幕,菊红、粉红、水红、桃红、紫色、白色等七色组成的4万亩花海在 [详细]
03-19 2022年郴州计划重点推进文旅项目101个 总投资354亿元
2022年郴州计划重点推进文旅项目101个 总投资354亿元
3月16日,我市举行全市文旅项目和城市大提质大融城项目集中开工仪式,市委书记吴巨培宣布项目开工。郴州嘉合欢乐世界、仙福路工地清风徐来 [详细]
03-19 宿州泗县深入推进文旅融合发展 擦亮城市品牌
宿州泗县深入推进文旅融合发展 擦亮城市品牌
近年来,泗县以争创安徽省文化旅游名县为目标,深入推进文旅融合发展,努力擦亮水韵泗州 运河名城城市品牌,全县文化旅游业实现高质量发展 [详细]
03-19 淡季不忘引流 京郊民宿市场有望迎来回暖
淡季不忘引流 京郊民宿市场有望迎来回暖
旅游淡季中的京郊民宿有望成为市场中最先复苏的板块。3月17日,北京商报记者调查发现,虽然正值旅游淡季,且受疫情变化的影响,不过各家民 [详细]
01-24 西安浐灞回应“社区领导怒怼咨询群众”:涉事社区主任已停职
西安浐灞回应“社区领导怒怼咨询群众”:涉事社区主任已停职
西安浐灞回应“一社区领导在市民咨询离市政策时发生争执”事件 涉事社区主任已停职  西部网讯(记者 刘望)日前,网络上流传一条视频 [详细]
01-24 陕西:截至23日12时 西安56.5万大中专学生已离校返家
陕西:截至23日12时 西安56.5万大中专学生已离校返家
1月23日,陕西省举行第45场疫情防控工作发布会,发布会上陕西省教育厅相关负责人通报,陕西全省疫情有效控制后,大中专学校能不能放假 [详细]
01-24 河北魏县发布北京一阳性人员在魏县的主要轨迹
河北魏县发布北京一阳性人员在魏县的主要轨迹
魏县疾病预防控制中心关于紧急寻找丰台区新冠肺炎阳性检测者同时间同空间人员的公告  2022年01月22日,接到邯郸市疾控中心转北京市疾 [详细]