第二章 基础算法
文章平均质量分 92
蓝桥杯的基础算法,包含枚举、递归、模拟、倍增、前缀和、差分等等算法
Changerone
学生
展开
-
时间日期问题
日期问题通常涉及到暴力、枚举、模拟等算法,但是由于日期问题存在很强的规律性,同时日期问题通常会涉及到枚举、模拟两种算法,很难完全的去划分题型,所以专门创建一个。原创 2024-03-19 16:13:01 · 367 阅读 · 1 评论 -
模拟算法总述
模拟算法通过模拟实际情况来解决问题,一般容易理解但是实现起来比较复杂,有很多需要注意的细节,或者是一些所谓很”麻烦”的东西。模拟题一般不涉及太难的算法,一般就是由较多的简单但是不好处理的部分组成的,考察选手的细心程度和整体的逻辑思维。一般为了使得模拟题写的逻辑清晰一些,经常会写比较多的小函数来帮助解题,例如int和string的相互转换、回文串的判断、日期的转换、各种特殊条件的判断等等。原创 2024-03-19 16:11:44 · 1962 阅读 · 1 评论 -
枚举算法总述
枚举算法是一种基本的算法思想,它通过穷举所有可能的情况来解决问题。它的基本思想是将问题的解空间中的每个可能的解都枚举出来,并进行验证和比较找到满足问题条件的最优解或者所有解。枚举算法适用于问题规模较小、解空间可穷举的情况。它的优点是简单直观,不需要复杂的数学推导,易于实现。但是,由于需要穷举所有可能的情况,对于问题规模较大的情况,枚举算法的时间复杂度可能会非常高,效率较低。原创 2024-03-19 16:08:16 · 909 阅读 · 1 评论 -
由数据范围反推算法复杂度以及算法内容
> 各种sort,线段树、树状数组、set/map、heap、拓扑排序、dijkstra+heap、prim+heap、Kruskal、spfa、求凸包、求半平面交、二分、CDQ分治、整体二分、后缀数组、树链剖分、动态树。算法 => 单调队列、 hash、双指针扫描、BFS、并查集,kmp、AC自动机,常数比较小的。,dp,二分,朴素版Dijkstra、朴素版Prim、Bellman-Ford。的做法:sort、树状数组、heap、dijkstra、spfa。,floyd,dp,高斯消元。原创 2024-03-19 16:06:28 · 417 阅读 · 1 评论 -
时间复杂度
O1OnOlognOn2一般我们关注的是最坏时间复杂度,用Ofn))表示,大多数时候我们仅需估算即可。一般来说,评测机1秒大约可以1e81×108次运算,我们要尽可能地让我们的程序运算规模的数量级控制在1e81×108以内。(尽量控制在1亿次以内)假设此算法的时间复杂度为On2,为了控制在1e81×108次内,执行次数应≤1×104。如果执行次数大于次数,就应该换其他更小时间复杂度度算法。O1O。原创 2024-03-19 16:05:52 · 1765 阅读 · 1 评论