一个轮流取数的游戏,取得的值最大者胜,这里要求结果。
这里使用一下deque数据结构吧。当然这里使用一般数列,用two points的思想解决也是可以的。
deque是可以两头取数都很快的容器。很适合本题这样的情况...
分类:
其他好文 时间:
2014-07-22 23:00:16
阅读次数:
286
vector : 向量
list : 双向链表容器,提供数据结构中链表的所有功能
queue : 队列容器,提供数据结构中队列的所有功能
stack : 栈容器,提供数据结构中栈的所有功能
deque : 双端栈容器,提供数据结构中栈的所有功能
priority_queue : 优先队列,一种按值排序的队列容器
set : 集合容器
multiset : 允许出现重复元素的集合容器
...
分类:
其他好文 时间:
2014-05-02 21:23:00
阅读次数:
298
c++中,Deque容器和vector相似,deque内部也采用动态数组来管理元素,支持随机存取。。头文件1.deque和vector的不同之处:1)两端都可以较快速地按插元素和删除元素,而vector只能在尾端进行2)在对内存有所限制的系统中,deque可以包含更多的元素,因为它不止一块内存。因此...
分类:
编程语言 时间:
2014-05-01 10:10:02
阅读次数:
500
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3415
题意:给出一个数环,要找出其中9长度小于等于K的和最大的子段。
思路:不能采用最暴力的枚举,题目的数据量是10^5,O(N^2)的枚举回去超时,本题采用的很巧妙的DP做法,是用单调队列优化的DP。
运用的是STL的deque,从i:1~a找到以其中以i为尾的符合条件的子段,并将i本身放入双向队...
分类:
其他好文 时间:
2014-05-01 08:32:53
阅读次数:
324
STL实践与分析--泛型算法的结构引言: 正如所有的容器都建立在一致的设计模式上一样,算法也具有共同的设计基础。 算法最基本的性质是需要使用的迭代器种类。所有算法都指定了它的每个迭代器形参可使用的迭代器类型。比如,如果形参必须为随机访问迭代器则可提供vector或 deque类型的迭代器,或者提供指向数组的指针。而其他容器的迭代器不能用在这类算法上。 C++还提供了另外两种算法模式...
分类:
编程语言 时间:
2014-04-27 21:36:05
阅读次数:
392