![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
u013757830
这个作者很懒,什么都没留下…
展开
-
HDU1003
这个题目WR了N多次。。一开始看见100000的输入想采用O(n2)的算法。。直接TLE了。。今后估计这样太的数据应该采取O(n)或O(nlogn)的算法的。原题:http://acm.hdu.edu.cn/showproblem.php?pid=1003因为数据结构书上第一个算法分析实例就是这个题,也没怎么仔细看就直接写了,结果老WR,结果才发现书上的只针对Maxsum为转载 2014-07-26 10:46:38 · 385 阅读 · 0 评论 -
poj 2607
城市要新建一个消防站,减少居民离最近的消费站之间的距离。输入文本,第一行有两个正整数f,i。f表示消防站的数目,i表示交叉路口的数目。接下来给出f行,每行给出一个消防站的路口序号,接下来有若干行,每行有3个正整数,格式为A,B,L,A B表示路口,L表示路段的长度。道路是双向的。对于每组数据输出一个n,n的含义是新的消防站所在的交叉路口的序号,选择n可以使得所有交叉路口到最近的一个消防站的原创 2014-11-04 17:29:32 · 485 阅读 · 0 评论 -
辗转相除法的证明
设两数为a、b(a > b),求它们最大公约数的步骤如下:设q = a / b,r = a % b, 得a=bq+r(0≤r<b)。1)若r = 0, 则b是a和b的最大公约数。2)若r≠0,则继续考虑。首先,应该明白的一点是任何 a 和 b 的公约数都是 r 的公约数。要想证明这一点,就要考虑把 r 写成 r=a-bq。现在,如果 a 和 b 有一个公约数 d,而且设 a原创 2014-11-02 16:27:08 · 362 阅读 · 0 评论 -
二叉堆
二叉堆的基本操作 数据结构表示: 使用一个一维数组表示,下标从1开始计算,如果是C/C++语言,则忽略下标为0的元素。使用n表示队中元素的个数。 堆的两个基本操作: 堆关键是理解两个基本操作的实现: 1、 向堆插入一个结点(上升操作): 在堆尾(a[n])插入一个元素,然后不断和父节点(a[i/2原创 2017-03-25 13:46:26 · 244 阅读 · 0 评论