package com.bupt.acm;import
java.util.Scanner;public class HeapSort { private int getLeft(int i){ return
2*(i+1)-1; } private int ...
分类:
其他好文 时间:
2014-05-21 22:01:39
阅读次数:
246
常见排序算法主要有:插入排序(直接插入排序、希尔排序)选择排序(直接选择排序、堆排序)交换排序(冒泡排序、快速排序)归并排序基数排序外部排序一.直接插入排序算法思想:在一个待排序列中,从第二个元素开始,依次进行排序,每次都将待排序元素从后往前,依次与前面的元素进行比较,从而将带排序元素移动到一个合适...
分类:
其他好文 时间:
2014-05-21 20:03:36
阅读次数:
353
在go里面,string和slice的互换是需要进行内存拷贝的,虽然在底层,它们都只是用
pointer +
len来表示的一段内存。通常,我们不会在意string和slice的转换带来的内存拷贝性能问题,但是总有些地方需要关注的,刚好在看vitess代码的时候,发现了一种很hack的做法,stri...
分类:
其他好文 时间:
2014-05-21 19:53:21
阅读次数:
223
计数排序的基本思想是:统计一个数序列中小于某个元素a的个数为n,则直接把该元素a放到第n+1个位置上。当然当过有几个元素相同时要做适当的调整,因为不能把所有的元素放到同一个位置上。计数排序假设输入的元素都是0到k之间的整数
1 #include 2 void sort(int *A, int *B....
分类:
其他好文 时间:
2014-05-21 18:07:55
阅读次数:
294
题目描述:
吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中最初的数字中可以选取的数字可以任意排序,以两个0结尾的数字是不允许的,例如,下面的数字都是吸血鬼数字:1260=21*601827=21*872187=27*81编写一个程序,找出4位数....
分类:
编程语言 时间:
2014-05-21 18:07:14
阅读次数:
226
题意:奶牛学校招生,c头奶牛报名,要选n头(n为奇数),学校是义务制,所以每头奶牛的学费都由学校负责。每头奶牛都由自己的考试分数和它需要花的学费,学校总共有f的资金,问合法招生方案中中间分数(即排名第(n+1)/2)最高的是多少。
题解:先将所有的奶牛按照分数由高到低排序,假设k是招的奶牛中排名中间的那头,按照排序可知,[1,k-1]中的奶牛必定被招了(n-1)/2头,[k+1,c]中也必定被招...
分类:
其他好文 时间:
2014-05-21 11:39:23
阅读次数:
247
题目大意:
墙上有一块区域被分成了n个矩形,每个矩形要涂上各自的颜色。为了保证完美要求这一块区域可以进行涂色的条件是它上方的所有区域都已经涂好颜色,这样就不会有后续的操作影响这块区域的颜色。但是如果两块区域颜色不同就要换涂颜色用的刷子。问最少需要换几次。
解题思路:
区域涂色的大体次序是由拓扑排序决定的,当有多个区域在同一层次时需要枚举这些区域来保证换刷子的次数最小。
...
分类:
其他好文 时间:
2014-05-21 10:28:49
阅读次数:
277
题意
有C个奶牛去晒太阳 (1
而刚开始的阳光的强度非常大,奶牛都承受不住,然后奶牛就得涂抹防晒霜,防晒霜的作用是让阳光照在身上的阳光强度固定为某个值。
那么为了不让奶牛烫伤,又不会没有效果。
给出了L种防晒霜。每种的数量和固定的阳光强度也给出来了
每个奶牛只能抹一瓶防晒霜,最后问能够享受晒太阳的奶牛有几个。
那么将奶牛按照阳光强度的最小值从小到大排序。
将防晒霜也按照能固...
分类:
其他好文 时间:
2014-05-21 09:29:45
阅读次数:
176
【题目】
有很多无序的数,从中找出最大的K个数。假定他们都不相等。
【解法一】
如果数据不是很多,例如在几千个左右,我们可以排一下序,从中找出最大的K个数。排序可以选择快速排序或者堆排序
[cpp] view
plaincopy
#include
#include
int cmp(const void *a,const ...
分类:
其他好文 时间:
2014-05-21 07:30:07
阅读次数:
234
经典排序算法:堆排序法 让算法会说话,让程序自己告诉我们怎么回事.........
分类:
其他好文 时间:
2014-05-21 06:43:20
阅读次数:
231