POJ 2388,题目链接http://poj.org/problem?id=2388 题意: 水题一道 给定n个数,输出中间值,可以用sort,干脆快捷。 代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 //396K 32MS #include <cstdio> #include <algorithm> intbuf[10000]; intmain() { intcowsNum; sc...
POJ 2388(排序) http://poj.org/problem?id=2388题意:就N个数的中位数。思路:用快排就行了。但我没用快排,我自己写了一个堆来做这个题。主要还是因为堆不怎么会,这个拿来练练手。1 #include <stdio.h> 2 #include <string.h> 3 4 int arr[10005],ans,n; 5 6 void inset(int x,int y) //...
描述FJ正在调查他的牛群,寻找最普通的奶牛。他想知道这头“中位数”奶牛产奶量:一半奶牛产奶的量与中位数相同或更多;一半的人给予同样多或更少。 给定奇数头奶牛N(1<=N<10000)和它们的牛奶产量(1…1000000),求出所给牛奶的中位数,使至少一半奶牛所给的牛奶量相同或更多,至少一半奶牛的牛奶量相等或更少。
2 #include<iostream> 3 using namespace std; 4 void merge(int num[],int st,int md,int ed) 5 { 6 int l_len=md-st+1,r_len=ed-md; 7 int l[l_len+2],r[r_len+2]; 8 for(int i=1;i<=l_len;i++) l[i]=num[st+i-1]; l[l_len+1]=2147483647; 9 for(int i=1;i<=...
题目链接:Who's in the Middle,题目与排序有关,使用快排实现 packagecom.test;importjava.util.Scanner;publicclassMain{publicstaticintpartition(Integer[]arr,intfirst,intlast){intlow=first;intend=last;intkey=arr[first];//取数组第一个数为轴值while(low<end){//首先从右向左寻找第一个比轴值小的数,...
poj 2388//poj 2388#include <stdio.h>#include <algorithm>using namespace std;const int maxn = 10005;int a[maxn];int partition(int l, int r){int x = a[r];int ol = l;for (int i = l; i < r; i++){if (a[i] < x){swap(a[ol], a[i]);ol++;}}swap(a[r], a[ol]...
POJ2388-Who's in the Middle 转载请注明出处:優YoUhttp://user.qzone.qq.com/289065406/blog/1300777154 水题一道 给定n个数,输出中间值(注意不是求平均) 可以用sort,干脆快捷,但是注意排序起止位置 也可以用quicksort,(最好用随机快排,尝试一下srand和rand)勤力的同学可以写一下\(^o^)/~...
POJ 2388 基数排序 这题可以直接nth_element过去 比如这样子 //By SiriusRen#include<cstdio>#include<algorithm>usingnamespacestd;intn,a[100500];intmain(){scanf("%d",&n);for(inti=1;i<=n;i++)scanf("%d",&a[i]);nth_element(a+1,a+n/2+1,a+1+n);printf("%d\n",a[n/2+1]);...
poj2388,题意:求中位数,若序列长度为偶数输出较后面那个水题,STL:sort排序即可#include#includeusingnamespacestd;intn,s[10010];intmain(){for(;~scanf("%d",&n);sort(s,s+n),...
POJ 2388(中位数) 求一组数的中位数 巨羡慕C党有sort用 Program P2388; var n,i,j:longint; a:array[1..10010] of longint; Procedure qsort(l,r:longint); var i,j,m,p:longint; begin i:=l; j:=r; m:=a[(l+r) shr 1];...