算法模版:由数据范围反推适用算法

简介: 算法模版:由数据范围反推适用算法

前言


唤我沈七就好啦。

从y总的分享里发现的宝贝,

经过重新排版后急忙拿来分享。


正文


一般程序设计竞赛或者笔试题的时间限制是1秒或2秒。

在这种情况下,C++代码中的操作次数控制在 107∼108 为最佳。

下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择。


n≤30

适用算法:指数级别, dfs+剪枝,状态压缩dp。


n≤100

时间复杂度:O(n3)

适用算法:floyd,dp,高斯消元。


n≤1000

时间复杂度: O(n2),O(n2logn)

适用算法:dp,二分,朴素版Dijkstra、朴素版Prim、Bellman-Ford。


n≤10000

时间复杂度: O(n∗n \sqrt{n}

n


适用算法:块状链表、分块、莫队。


n≤105

时间复杂度: O(nlogn)

适用算法: 各种sort,线段树、树状数组、set/map、heap、拓扑排序、dijkstra+heap、prim+heap、Kruskal、spfa、求凸包、求半平面交、二分、CDQ分治、整体二分、后缀数组、树链剖分、动态树。


n≤106

时间复杂度: O(n), 以及常数较小的 O(nlogn) 算法

适用算法: 单调队列、 hash、双指针扫描、并查集,kmp、AC自动机。

常数比较小的 O(nlogn)的做法:sort、树状数组、heap、dijkstra、spfa。


n≤107

时间复杂度: O(n)

适用算法: 双指针扫描、kmp、AC自动机、线性筛素数。


n≤109

时间复杂度:O(n \sqrt{n}


适用算法:判断质数。


n≤1018

时间复杂度:O(logn)

适用算法:最大公约数(gcd),快速幂,数位DP。


n≤101000

时间复杂度:O((logn)2)

适用算法:高精度加减乘除。


n≤10100000

时间复杂度:O(logk×loglogk),k表示位数。

适用算法:高精度加减、FFT/NTT。


完结散花


可见数据范围给我们的提示可能比原题还要多。当我们看到数据范围,枚举能够做出来的方法有哪些,然后进行题解。这样会不会大大减少我们的做题时间呢?

所以容我说一句

y总牛逼。

顺便一提文中涉及的算法只要我学明白后会陆续更新算法笔记的,先罗列一下已经更新的


数论:质数筛

模拟数据结构:链表


参考文献


https://www.acwing.com/blog/content/32/


相关文章
C4.
|
1月前
|
算法 程序员 C语言
C语言的选择结构与数据算法
C语言的选择结构与数据算法
C4.
18 0
|
2月前
|
机器学习/深度学习 数据采集 搜索推荐
Paper Digest | 突破个性化推荐数据稀疏性:长尾增强的图对比学习算法研究
本文提出了一种新的长尾增强的图对比学习方法(LAGCL),该方法促使模型同时兼顾头部节点与尾部节点之间的知识,并通过长尾增强技术来使模型产出更均匀更准确的节点表征,从而改进基于 GNN 的推荐任务。
|
1天前
|
机器学习/深度学习 数据采集 算法
共享单车需求量数据用CART决策树、随机森林以及XGBOOST算法登记分类及影响因素分析
共享单车需求量数据用CART决策树、随机森林以及XGBOOST算法登记分类及影响因素分析
|
2天前
|
移动开发 算法 数据可视化
数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例
数据分享|Spss Modeler关联规则Apriori模型、Carma算法分析超市顾客购买商品数据挖掘实例
|
2天前
|
机器学习/深度学习 自然语言处理 算法
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享(下)
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享
10 0
|
2天前
|
机器学习/深度学习 算法 大数据
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享(上)
【视频】K近邻KNN算法原理与R语言结合新冠疫情对股票价格预测|数据分享
10 0
|
4天前
|
算法 数据可视化 大数据
圆堆图circle packing算法可视化分析电商平台网红零食销量采集数据
圆堆图circle packing算法可视化分析电商平台网红零食销量采集数据
33 13
|
10天前
|
算法 数据可视化 Python
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
16 0
|
11天前
电信公司churn数据客户流失k近邻(knn)模型预测分析
电信公司churn数据客户流失k近邻(knn)模型预测分析
18 0
|
2月前
|
机器学习/深度学习 算法 搜索推荐
【实操】数据扩增:Retinex算法用于图像颜色恢复和对比度增强
【实操】数据扩增:Retinex算法用于图像颜色恢复和对比度增强
33 0
【实操】数据扩增:Retinex算法用于图像颜色恢复和对比度增强