队列
South__wind
ACMER
展开
-
poj 3250 Bad Hair Day
Source Code #include #include using namespace std; int n,x; long long sum; int main() { while(cin>>n) { sum=0; dequeq; for(int i=0;i<n;i++) { cin原创 2012-08-30 16:01:26 · 340 阅读 · 0 评论 -
poj 1862 Stripies
优先队列的应用,主要是理解为什么每次要取最大的两个数,因为题目要求的是最后剩下来的那个变形虫的最小质量,所以我们要使质量大的变形虫尽量多的开平方。 #include #include #include #include int n,x; using namespace std; int main() { while(cin>>n) {原创 2012-08-30 16:05:19 · 1112 阅读 · 0 评论 -
poj 2823 Sliding Window
单调队列,在队尾插入,删除。在队头删除。 在求最大值的时候,把每个插入的元素与队列尾的元素逐一比较,只要队尾元素比插入的元素小就删除队尾元素,直到队尾元素比待插入元素大为止。 同时还要删除过期元素,过期元素从队头进行删除,直到满足当前插入元素的下标-间距+1<=对头元素的下标为止。 求最小值同理。。。 最后不得不说这段代码跑了9735MS,AC的好险啊。。。 #include原创 2012-08-30 16:21:45 · 244 阅读 · 0 评论 -
3道经典的优先队列题
优先队列是一种十分强大的数据结构,它保持了一种动态的有序性,对于不断改变有入队的操作,而又需要某种最大或最小的操作的问题是再合适不过了,通常优先队列的实现是由最小堆或者最大堆完成的,并通过堆排序保持队列的有序性,模拟队列的结构,在实际比赛中要写一个堆排序还是要一定的时间的,但是stl中queue容器中已经可以实现优先队列,下面以三道基本的题目来演示priority_queue的作用。 聪明的转载 2012-08-31 16:10:15 · 3464 阅读 · 0 评论 -
C++中的vector使用范例
C++中的vector使用范例 一、概述 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector是一个容器,它能够存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,可以动态改变大小。 例如: // c语言风格 int myHouse[100] ; // 采用vector转载 2012-08-31 16:20:58 · 298 阅读 · 0 评论