2014年4月2日

排序 O(nlogn)

摘要: 1.堆排序是一种优秀的排序算法,时间复杂度O(nlogn),主要思想是用数组构造一个最大堆,满足跟节点的value>子节点的value,然后将堆顶元素(value最大)与最后一个叶子节点交换,再调整堆,使其满足最大堆的性质,重复上述步骤n-1次后就得到一个有序序列。 1 #include 2 #include 3 #include 4 #define MAX 111111 5 #define LEFT(i) (i a[i]) largest = l; 14 else largest = i; 15 if(r a[largest]) largest = r; 16 i... 阅读全文

posted @ 2014-04-02 23:22 ~Love() 阅读(248) 评论(0) 推荐(0)

最小距离查询

摘要: 最小距离查询时间限制1000 ms内存限制65536 KB题目描述给定一个由小写字母a到z组成的字符串S,其中第i个字符为S[i](下标从0开始)。你需要完成下面两个操作:INSERT c其中c是一个待输入的字符。你需要在字符串的末尾添加这个字符。保证输入的字符同样是a到z之间的一个小写字母。QUERY x其中x是一个输入的整数下标。对于这个询问,你需要回答在S当中和S[x]相等且与x最近的距离。输入保证x在当前字符串中合法。例如S = "abcaba",如果我们操作:INSERT a 则在S的末端加一个字符a,S变成"abcabaa"。接下来操作QUE 阅读全文

posted @ 2014-04-02 21:49 ~Love() 阅读(308) 评论(0) 推荐(0)

导航