小白
文章平均质量分 62
霍天青
恍如隔世之水止云停...
展开
-
UVa-511-Way to SanJose?
map,greater>>是每一个地点到包含这些地点的地图的映射。第二个map是地图面积到地图的映射,其中传入了一个greater来讲这些面积按照从大到下的顺序排序,对应detail level 从小到大。vector 保存了面积相同的地图,在程序中,我定义了一个compare函数来将这些面积相同的地图按照题目要求排序,这样,vector[0]就是所要找的地图。 另外需注意的是,题目只说原创 2015-11-14 15:23:10 · 703 阅读 · 0 评论 -
UVa-1596-Bug Hunt
解题过程中犯了几个错。其一是C++中没有itoa这个函数,想要实现数字向字符串的转换要使用to_string。其二,对于每一次赋值操作,要先检查该数组元素是否已经有值,若有,要从map中删去,再添加进新值。 #include #include #include #include #include #include #include using namespac原创 2015-11-08 23:50:44 · 399 阅读 · 0 评论 -
UVa-1598-Exchange
用两个map>,greater>,map>,less>分别保存buy信息和sell信息,其中key是价格,每个pair是一条信息。pair.first是信息序号,pair.second是数量。map>用来指示某个序号的信息是buy还是sell,并且保存相应的价格。每从输入获取一条信息,如果是buy,则检查sellInfo中的最小价格是否低于此条buy信息的价格,若是,则进行交易,直到有一方size原创 2015-11-18 23:27:33 · 1133 阅读 · 0 评论 -
UVa 210 Concurrency Simulator
在做这题的过程中出现了两个问题。 假如s是一个字符输入流,从s中得到一个整数,代码可能如下:int a;s>>a; 但需注意的是,s中整数字符前若有别的非空白字符,则该字符会被转换成一个整数赋给a,而且这个整数可能为任意值。所以应该改成如下写法,跳过那个字符:char ch;int a;s>>ch>>a; 另外,一定要注意输出格式。题目说两个case间要原创 2015-12-03 17:17:54 · 398 阅读 · 0 评论 -
稀疏矩阵的C++实现
实现部分:include #include #include using namespace std;class matrix{ friend ostream &operator<<(ostream &,matrix&);private: int row, column, num; map> m; //行号→(列号,值)public: matrix() = default原创 2015-12-02 21:32:47 · 1687 阅读 · 0 评论 -
分治算法求最长子序列和
把数组分成两部分 ,则最长子序列可能出现在中线左边的数组,右边的数组或者一部分在左边、一部分在右边。而左边、右边数组的最长子序列又可依前法求解,这样可以用递归实现程序。#include #include using namespace std;int max3(int a, int b, int c){ return max(max(a, b), c);}int MaxSubSu原创 2015-12-04 13:16:46 · 497 阅读 · 0 评论 -
AVL树的C++实现
#include #include using namespace std;template class AvlTree{ friend ostream &operator(ostream &, const AvlTree&);private: struct AvlNode{ AvlNode(const T &val, AvlNode *l = nullptr, AvlNode原创 2015-12-07 00:02:42 · 339 阅读 · 0 评论 -
求数组中出现次数大于N/2的元素(majority number)
若存在这样的元素,其出现次数大于N/2,则其在数组中至少相邻出现一次。 设数组为a,若数组长度为偶数,比较a[i]和a[i+1](其中i=0,2,4...N-2),若相等,将a[i]加入新数组,比较完后,对新数组重复上述操作。最终数组中若留下一个数,则这个数可能为要求的majority number,若为空,则不存在majority number。 若数组长度为奇数,检查最后一原创 2015-12-08 19:18:31 · 806 阅读 · 0 评论