随笔分类 - 

heap 堆的各类操作
摘要:#include <stdio.h>#include <string.h>#include <stdlib.h>int N;//最小堆int heap[20];//交换两个元素的值void swap( int &x, int &y){ int temp; temp = x; x = y; y = temp;}// 非递归写法void down ( int x ){ int i, j, flag = 1; if ( 2 * x <= N) { while (flag && (i = 2 * x) <= N ) { i 阅读全文

posted @ 2011-07-29 15:56 more think, more gains 阅读(243) 评论(0) 推荐(0)

堆的学习
摘要:今天把堆重新看了一篇,堆分为最小堆,最大堆。。N个元素称为堆,当且仅当它的关键字序列k1,k2,….kn,满足:Ki<=k2i ki<=k2i+1(最小堆)或者满足ki>=k2i ki>=k2i+1(最大堆)由定义就可看出堆的一个重要性质。。堆的操作:updowninsertdeletedelete_maxmakeheap 阅读全文

posted @ 2011-04-14 18:52 more think, more gains 阅读(153) 评论(0) 推荐(0)

hdu 1280 用堆
摘要:前m大的数Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2922Accepted Submission(s): 1013Problem Description还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小希只想让你把答案中最大的M个数告诉她就可以了。给定一个包含N(N<=3000)个正整数的序列,每个数不超过5000,对它 阅读全文

posted @ 2011-04-14 17:21 more think, more gains 阅读(422) 评论(0) 推荐(0)

导航