摘要:
堆(最大堆)的操作,以下函数用A[0]来存放元素的个数:void swap(int A[], int i, int j); //交换两个元素1.void sift_up(int A[], int i); //把堆中第i个元素上移2.void sift_down(int A[], int i); //把堆中的第i个元素下移3.void heap_insert(int A[], int x); //把元素x插入堆中4.void heap_delete(int A[], int i); //删去堆中第i个元素5.int delete_max(int A[]); //删除堆中... 阅读全文
posted @ 2013-03-01 21:28
Still_Raining
阅读(270)
评论(0)
推荐(0)
摘要:
题目链接。代码如下:#include <stdio.h>#include <stdlib.h>#include <math.h>const double INF = (1<<25);#define MAXN 103#define MAXM 10010struct Pos{ int x, y;}pos[MAXN];int vis[MAXN];double G[MAXN][MAXN], d[MAXN], ans;double calc(struct Pos a, struct Pos b){ int k = (a.x-b.x)*(a.x-b.x)+( 阅读全文
posted @ 2013-03-01 19:31
Still_Raining
阅读(210)
评论(0)
推荐(0)
摘要:
题目链接。分析:水.#include <stdio.h>#include <stdlib.h>#define MAXN 100#define MAXM 6000int p[MAXN], cnt, ans;int find(int x){return p[x] == x ? x : (p[x]=find(p[x]));}struct node{ int u, v, w, flag;}edge[MAXM];int cmp(struct node *a, struct node *b){ return (*a).w - (*b).w;}int Union(int x, int 阅读全文
posted @ 2013-03-01 19:16
Still_Raining
阅读(170)
评论(0)
推荐(0)
浙公网安备 33010602011771号