自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 1022. Digital Library (30) -map -字符串处理

这道题目我参考了sunbaigui的解法,这是一道通过属性值来找记录的问题,属于倒排索引,由于属性值较多,需要使用多个map进行存储,对于多个ID公用多个属性值的问题,可以把map的ID那一维设置为vector,从而可以容纳多个ID,为了满足ID的升序输出,需要对每个map中的记录按照ID升序进行排序。题目的具体实现为:定义5个map,每个map的第一维为string,第二维为vector<string>,其中第一维保存不同的属性值,第二维保存各个属性值对应的ID,在输入记录的过程中不断把记录存入map

2015-05-30 13:58:06 757

原创 1020. Tree Traversals (25) -BFS

这是一道很直接的给出中序序列和任一其他序列生成二叉树的问题,本题给出的是后序遍历和中序遍历,利用后序遍历的“左右根”顺序我们知道,后序序列的最后一个元素一定是整棵树的根,从后向前,分别是右、左子树的根,因此通过后序序列可以找到一系列的根,他们的顺序是当前所在的根、右子树的根、左子树的根,每次在中序序列中定位出根的位置,根据中序序列“左根右”的顺序我们知道,根左边的一定是左子树,右边的一定是右子树,就这样递归解决子树问题即可,最后通过BFS来进行层序遍历。

2015-05-30 13:44:40 2466

原创 利用Dijkstra算法实现记录每个结点的所有最短路径

我们知道,Dijkstra是解决单源最短路问题的,并且最基本的算法仅能求出最短路的长度,而不能输出路径,本文基于Dinjkstra进行改进,使之能记录源点到任意点的所有最短路径。使用vector<int>来记录一条路径,因为每个结点可能有多条最短路径,因此把这些路径都装在一个vector中,因此可以用一个vector<vector<int> >来表示一个结点的所有最短路径,把所有结点的最短路径都存放起来,又需要一个vector容器,因此所有结点的所有最短路径的集合可以用vector<vector<vecto

2015-05-29 13:16:03 6955 2

原创 1017. Queueing at Bank (25) - priority_queuet

这是一道事件模拟的问题,与前面的排队问题输出业务完成时间不同,本题要求输出每位顾客的等待时间。我自己没有想到简洁的解决方法,直到看到了sunbaigui的方法。他的方法核心思路是给每个窗口记录一个时间,代表当前服务的顾客结束的时间,每次取出最早结束服务的窗口,如果等待队列中最前面的顾客到达的时间比这个时间早,说明在等待中,一直要等到服务结束,因此等待时间等于这两个时间的差,此时,窗口的服务结束时间应该被更新为原来的时间(即新顾客开始服务的时间)加上新顾客服务的时间;如果等待队列中最前面的顾客到达时间大于

2015-05-27 19:16:12 1519

原创 1016. Phone Bills (25) -vector排序(sort函数)

题目如下:A long-distance telephone company charges its customers by the following rules:Making a long-distance call costs a certain amount per minute, depending on the time of day when the call is

2015-05-26 17:06:26 1053

原创 1015. Reversible Primes (20)

题目如下:A reversible prime in any number system is a prime whose "reverse" in that number system is also a prime. For example in the decimal system 73 is a reversible prime because its reverse 37 is al

2015-05-25 13:38:09 1332

原创 1014. Waiting in Line (30)

考察模拟现实的问题,看起来十分复杂,其实只要把实际问题转化为数据结构模型,是十分简单和自然的。 一个自然的思路是建立人、窗口、黄线后三个部分的结构体,其中人存放需要的服务时间、离开的时间;窗口和黄线都是队列,由于窗口有多个,采用vector来容纳这些窗口,人也同样通过vector容纳,为了让人的编号从1开始,在向vector中压入人的信息时先压入一个无用元素。 对于人结构体的成员,需要额外存储一个服务时间,其中一个服务时间在程序运行过程中不断减少,当为0时离队,而那个额外的用于

2015-05-24 14:15:23 1058

原创 1013. Battle Over Cities (25)

题目如下:It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediat

2015-05-23 10:03:08 699

原创 1006. Sign In and Sign Out (25)

题目如下:At the beginning of every day, the first person who signs in the computer room will unlock the door, and the last one who signs out will lock the door. Given the records of signing in's and

2015-05-11 19:19:42 695

原创 1004. Counting Leaves (30)

题目如下:A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child.InputEach input file contains one test case. Each case star

2015-05-08 18:22:08 830

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除