09 2012 档案

摘要:这个问题的非一般形式在网上有很多的分析,比如http://blog.csdn.net/hackbuteer1/article/details/7481342、http://liuyangxdgs.blog.163.com/blog/static/2913776320111056839612/。下面将这个问题一般化,进一步分析这类问题的规律,找出一般性的解法。问题描述:一共有n*n匹马,有一个赛场,赛场有n个赛道,就是说最多同时可以有n匹马一起比赛。假设每匹马都跑的很稳定,不用任何其他工具,只通过马与马之间的比赛,试问最少得比多少场才能找出跑得最快的k匹马。设f(n,k)表示n*n匹马,n个赛道 阅读全文
posted @ 2012-09-16 15:21 segeon 阅读(1160) 评论(0) 推荐(0)
摘要:问题描述:已知一个整数数组a[],其长度为n,要找出数组中相邻元素的最大间距。分析:问题很简单,而且描述本身就暗示了一种自然的求解方法,即先对元素排序,然后逐个求相邻元素的间距。这种解法的复杂度为O(n*logn)。再想一下,设min, max分别是数组中的最小和最大元素,len =(max-min... 阅读全文
posted @ 2012-09-15 11:53 segeon 阅读(2992) 评论(2) 推荐(0)
摘要:map对元素按照key按升序排序,比较的时候使用<操作符或者是程序员提供的比较函数。内置类型都定义了<操作符,可以直接作为key使用。自定义的类型如果要作为key,需要满足以下条件:1. 可复制和可赋值(这是容器对元素的基本要求)2. 元素类型定义了<操作符,或者定义一个专门的函数对象struct _temp{int a, b; bool operator<(const struct _temp &rhs) const { return a < rhs.a; }} ts;...map<struct _temp, int> my;或者struct 阅读全文
posted @ 2012-09-12 22:00 segeon 阅读(1757) 评论(0) 推荐(0)