二分法
文章平均质量分 78
bobten2008
这个作者很懒,什么都没留下…
展开
-
POJ 2112 Optimal Milking
Optimal MilkingTime Limit: 2000MS Memory Limit: 30000KTotal Submissions: 3151 Accepted: 1260Case Time Limit: 1000MSDescriptionFJ has moved his K (1 <= K原创 2010-01-11 23:51:00 · 1178 阅读 · 0 评论 -
链式结构的归并排序
struct node{int32_t value;node* head;node* tail;}int compare_node(node* node_1, node* node_2){if(node_1->value value){return -1;}else if(node_1->value == node_2->value){return 0;}else{return 1;}}/*对链式结构进行归并排序, 输入是待排序链表表头,返回值是排序后的表头指针sort_type = -1: 升序, 1:降原创 2010-10-19 15:56:00 · 1529 阅读 · 0 评论 -
如何求两个有序数组的第K个数
<br />给定两个已排序数组,如何求第K个数。传统的做法就是类似归并排序的方式,时间<br />复杂度是O(N),这里给出一个二分法,时间复杂度是O(lgN)<br /> <br />#include <iostream>#include <algorithm>#include <ctime>//#define DEBUG#define MINV(a, b) ((a) <= (b) ? (a) : (b))#define MAXV(a, b) ((a) >= (b) ? (a) :原创 2010-12-24 22:50:00 · 2554 阅读 · 0 评论 -
一颗完全二叉树,求其结点个数
网上看了很多人的答案,都说最优解是o(n),想到了一种更快的算法,负责度是O(lgn的平方),就是对左右子树进行二分,找最后一层的最右边那个结点即可:#include #include #include using namespace std;struct Node { Node* left; Node* right; ~Node() { if (lef原创 2013-08-03 20:29:45 · 3587 阅读 · 0 评论 -
行列有序数组求给定数是否存在
沿对角线二分,并对独行独列进行优化输入示例:样例输入: 3 351 2 34 5 67 8 93 312 3 45 6 78 9 103 3122 3 45 6 78 9 10样例输出: YesNoNo#include #include #include using namespace std;co原创 2013-08-14 09:34:28 · 1052 阅读 · 0 评论