算法提高
文章平均质量分 92
m0_74911187
这个作者很懒,什么都没留下…
展开
-
1.8、数位DP(算法提高课)
求给定区间【a,b】中的不降数的个数,不降数的定义为从左到右各位数字成小于等于的关系。:首先预处理出来f[i][j]为一共有i位,且最高位为j的数的个数,然后用数位dp求解即可,具体看代码。原创 2024-04-19 21:12:20 · 333 阅读 · 0 评论 -
3.4图论(算法提高课)
大于等于0。原创 2023-10-10 22:32:05 · 89 阅读 · 0 评论 -
3.3图论(算法提高课)
目录一,最近公共祖先(lca)1,祖训询问2,距离3,次小生成树4,闇の連鎖二,有向图的强连通分量1,受欢迎的牛2,学校网络3,最大半连通子图4,银河三,无向图的双连通分量1,冗余路径2,电力3,矿场搭建一,最近公共祖先(lca)首先介绍一下什么时最近公共祖先。求lca一般有两种方法,一种是向上标记法(时间复杂度O(N^2),另一种是树上倍增法(时间复杂度O(NlogN)一般来说,用的比较多的就是树上倍增法,因原创 2023-10-09 13:20:15 · 122 阅读 · 0 评论 -
3.2图论(算法提高课)
这题就是一个最小生成树的模板题。原创 2023-10-05 19:32:02 · 165 阅读 · 0 评论 -
3.1图论(算法提高课)
单源最短路的建图方式有很多,可以参考算法基础课,对于不同的题目我们选取合适的算法求解即可。原创 2023-10-02 16:07:48 · 94 阅读 · 0 评论 -
高级数据结构(算法提高课)
题目链接:https://www.luogu.com.cn/problem/P1455这题是并查集与01背包的一个结合,我们可以将搭配在一起的云朵合并,并且将属于一个集合的云朵的价格和价值都加在该集合的根节点中,在进行一次01背包就可以了得到给定金钱能买到的最大价值了代码如下:2,程序自动分析题目链接:https://www.acwing.com/problem/content/239/这题运用了离散化和并查集,因为数据范围很大,所以我们要先离散化将数据映射到一个小区间上,然后用并查集动态维护,对原创 2023-09-02 21:46:33 · 222 阅读 · 0 评论 -
2.2DFS的多种模型(算法提高课)
之前用bfs实现的连通性模型,这里用dfs实现连通性模型。原创 2023-08-09 22:10:18 · 315 阅读 · 0 评论 -
2.1BFS的多种模型(算法提高课)
flood fill用bfs实现,作用是可以在线性的时间复杂度内,找到某个点所在的连通块。原创 2023-08-07 21:49:00 · 118 阅读 · 0 评论 -
1.基于LIS(最长上升子序列)模型的DP问题(算法提高课)
下面列举的所有题目都是基于LIS(最长上升子序列)衍生出来的题,都可以用LIS或LIS加上其他算法结合求解题目意思大概就是,求任意一点的左边到这个点的最长上升子序列,和从这个点向右的最长下降子序列,找到其中之一的最大值,对于从这个点往右的最长下降子序列,我们就可以看成是从右往左到这个点的的最长上升子序列就可以了,可以直接套LIs的模板,可以用朴素做法也可以用二分优化的做法,取决于数据范围大小,不会LIS的可以先去看看我的另一篇文章https://blog.csdn.net/m0_74911187/artic原创 2023-07-27 10:56:00 · 150 阅读 · 1 评论