摘要:
题目:http://poj.org/problem?id=2442题目大意: 给你n*m的矩阵,然后每行取一个元素,组成一个包含n个元素的序列,一共有n^m种序列,让你求出序列和最小的前n个序列的序列和。解题步骤:1.将第一序列读入data1向量中,并按升序排序。2.将数据读入data2向量中,并按升序排序。将data2[0] + data1[i] ( 0<=i<=n-1)读入dataq向量中用make_heap对dataq建堆。然后data2[1] + data1[i] (0<=i<=n-1),如果data2[1] + data1[i]比堆dataq的顶点大,则退出, 阅读全文
摘要:
题目:http://poj.org/problem?id=2051题目大意: 这道题就是个最小堆,把最先到达的query输出query编号,然后继续排队等待同样的时间,要是某几个请求同时到达的话,就要按照编号从小到大的输出。思路: 先定义一个结构体,里面包含 query的 id 和 time,然后将query放进优先队列里,变可以轻松解决问题。AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<queue> 4 using namespace std; 5 6 struct Info 7 { 8 阅读全文