PKU ACM 3255解题报告

dijkstra算法由荷兰计算机科学家dijkstra提出。核心算法思想是广度优先搜索,也是一种贪心算法。dijkstra算法可以用来求非负权有向图的单源最短路径,其实它不仅仅可以用来求单源最短路径,还能用来求单源次短路径,后面我会具体给个求单源次短路径的问题。

dijkstra算法描述:设置[......]

Read more

PKU ACM 1852、3684解题报告

之所以把这两道题放到一起,是因为这两道题是同一种题型,我把它们叫做“穿越题”。解这种题型的题目,关键是要用穿越的思想。一般这种题目,如果不能想进去的话,会感觉无从下手,可一旦想进去,就会发现题目太简单了。

解1852时,关键是要看出,就算两只蚂蚁相遇各自会朝相反方向移动,但如果我们假设相遇的蚂[......]

Read more

PKU ACM 1011解题报告

刚看到这道题时,努力在找规律,试图通过归纳法总结出一些规律。想法是好的,而且通过归纳法也确实找出了一些需要剪枝的地方,但还是没找到一个可行的算法,最后参考了一大牛的解题报告,才想到应该用DFS来解(经验严重不足:-( )。
假设归纳:假设这些小stick可以组成(n-1)根长度相同的大stick,[......]

Read more

求最近点对算法

关于最近点对距离计算问题是一个很金典的问题,在很多关于算法的书上都能看到。上个月我刚看完《算法引论——一种创造性方法》,里面就有关于最近点对算法的讲解。书上介绍了两种算法:
1、直接法 :也就是迭代法求出所有点对之间的距离。但这个方法只适合点对数不多的情况。假设有n个点对,用直接法,共需计算n(n[......]

Read more