![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法课
For the brave
这个作者很懒,什么都没留下…
展开
-
最短路 迪杰斯特拉
代码: #include<bits/stdc++.h> using namespace std; const int mm=1e9+5; const int maxn=2505; int n,m,s,t; int graph[maxn][maxn];//存储图 int vis[maxn],dis[maxn];//存储是否经过,最短距离 void init()//初始化 { for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++)原创 2021-07-05 15:11:15 · 42 阅读 · 0 评论 -
分治和减治
区别: 这本课本上面,第四章和第五章是分开来讲的,前者讲的是分治,后者讲的是减治。上网查找了相关的资料,其实很多人都不怎么区分这俩,一般也就用分治一概 而论,之前ACM集训的很多算法课也是统一用的分治。 简而言之,如课本而言,减治法可以将原问题分解为若干个子问题,并且原问题的解与子问题的解之间有某种特定的关系。由于原问题的解与子问题的解之间存在某种特定的关系,所以只需要求解其中一个较小规模的问题就可以得到原问题的解。 「分治法」是把一个问题分成多个小问题解决,减治法是把一个问题化成一个小问题解决。 通常来说原创 2020-09-19 18:05:35 · 1372 阅读 · 0 评论 -
最近点对问题
课本68到70页。 暴力求解代码: 复杂度(O(n^2)) 分治法: PS:鸽巢原理。 桌上有十个苹果,要把这十个苹果放到九个抽屉里,无论怎样放,我们会发现至少会有一个抽屉里面放不少于两个苹果。这一现象就是我们所说的“抽屉原理”。 ...原创 2020-09-19 16:36:36 · 71 阅读 · 0 评论