上一页 1 2 3 4 5 6 7 8 ··· 28 下一页
摘要: Gopher IITime Limit: 2000MSMemory Limit: 65536KTotal Submissions: 5129Accepted: 2122DescriptionThe gopher family, having averted the canine threat, must face a new predator. The are n gophers and m gopher holes, each at distinct (x, y) coordinates. A hawk arrives and if a gopher does not reach a hol 阅读全文
posted @ 2012-06-05 23:40 w0w0 阅读(246) 评论(0) 推荐(0) 编辑
摘要: Antenna PlacementTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 4520Accepted: 2229DescriptionThe Global Aerial Research Centre has been allotted the task of building the fifth generation of mobile phone nets in Sweden. The most striking reason why they got the job, is their discovery of a 阅读全文
posted @ 2012-06-05 21:53 w0w0 阅读(204) 评论(0) 推荐(0) 编辑
摘要: AsteroidsTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 9777Accepted: 5247DescriptionBessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x N grid (1 <= N <= 500). The grid contains K asteroids (1 <= K <= 10,000), which are conveniently 阅读全文
posted @ 2012-06-05 20:49 w0w0 阅读(179) 评论(0) 推荐(0) 编辑
摘要: Drainage DitchesTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 39519Accepted: 14695DescriptionEvery time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover patch. This means that the clover is covered by water for awhile and takes quite a long time to regr 阅读全文
posted @ 2012-06-05 10:39 w0w0 阅读(140) 评论(0) 推荐(0) 编辑
摘要: Power NetworkTime Limit: 2000MSMemory Limit: 32768KTotal Submissions: 17381Accepted: 9190DescriptionA power network consists of nodes (power stations, consumers and dispatchers) connected by power transport lines. A node u may be supplied with an amount s(u) >= 0 of power, may produce an amount 0 阅读全文
posted @ 2012-06-04 16:25 w0w0 阅读(153) 评论(0) 推荐(0) 编辑
摘要: Heavy TransportationTime Limit: 3000MSMemory Limit: 30000KTotal Submissions: 14380Accepted: 3785DescriptionBackground Hugo Heavy is happy. After the breakdown of the Cargolifter project he can now expand business. But he needs a clever man who tells him whether there really is a way from the place h 阅读全文
posted @ 2012-05-24 22:17 w0w0 阅读(214) 评论(0) 推荐(0) 编辑
摘要: visitor(访问者)——类行为模式1.意图表示一个作用于某对象结构中的各个元素的操作。他使你可以在不改变各元素的前提下定义作用于这些元素的新操作。2.动机操作需要对不同的数据类型做不同的处理。将每一个类中相关的操作包装成一个对象,并在需要时将此对象传递给当前访问的元素,当元素接收访问者时,向访问者发送一个包含自身类信息的请求。该请求将自身作为一个参数。然后访问者将对这个元素执行操作——这一操作以前是在该元素的类中的。3.适用性1)一个对象结构包含很多对象,他们有不同的接口,而你想对这些对象实施一些依赖于其具体类的操作。2)需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而你想避免 阅读全文
posted @ 2012-05-23 20:24 w0w0 阅读(331) 评论(0) 推荐(0) 编辑
摘要: template method(模板方法)——类行为模式1.意图定义一个操作中的算法骨架,而将一些步骤延迟到子类中,template method使得子类可以不改变一个算法的结构即可重新定义算法的某些特定步骤。2.动机通过使用抽象操作定义一个算法中的一些步骤,模板方法确定了他们的先后顺序,但是他允许子类改变具体步骤以满足各自的需求。3.适用性1)一次实现一个算法的不变部分,把可变部分的行为留给子类实现2)各子类中公共的行为应该被提取出来并集中到一个公共的父类中以避免代码重复3)控制子类扩展。模板方法只有在特定点调用hook操作,这样允许子类在这些点上加以扩展。4.结构参考:http://www 阅读全文
posted @ 2012-05-23 16:01 w0w0 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 图论算法小结一、图搜索算法1.广度优先搜索 给定图G和特定的原点s,BFS系统的搜索G中的边,以期发现可以从s出发到达的所有顶点,并计算所有这些可达顶点之间的距离。该算法同事还能生成一颗根为s、且包括所有s可达顶点的广度优先树。对s可达的顶点v,广度优先树从s到v的路径对应于图G中s到v的最短路径,即包含边最少的路径。该算法对有向和无向图都适用。以最简单的一维bfs作为模板#include<iostream>#include<queue>using namespace std;//以为的bfs,用step记录从原点开始到每一个点的步数//map记录该点是否被访问过int 阅读全文
posted @ 2012-05-23 09:24 w0w0 阅读(1119) 评论(0) 推荐(0) 编辑
摘要: state(状态模式)——对象行为型模式1.意图定义一系列的算法,把他们一个个封装起来并且使他们可以互相替换。本模式使得算法可以独立于使用它的客户而变化。2.别名政策(policy)3.动机将算法硬编码进使用他们的类中是不可取的算法过于复杂有时候需要不同的算法增加新的换行算法或者改变现有的算法将变得非常困难4.适用性1)许多相关的类仅仅是行为有异。策略提供了一种用多个行为中的一个行为来配置一个类的方法。2)需要使用一个算法的不同变体3)算法使用客户不应该知道的数据。可以使用策略模式以避免暴露复杂的、与算法相关的数据结构。4)一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式 阅读全文
posted @ 2012-05-22 22:10 w0w0 阅读(200) 评论(0) 推荐(0) 编辑
摘要: state(状态模式)——对象行为型模式1.意图允许一个对象在其内部状态改变时改变他的行为,似乎修改了这个类。2.别名状态对象(objects for states)3.动机一旦类的状态改变,行为也会产生相应的改变4.适用性一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为。一个操作中含有庞大的多分支的条件语句,并且这些分支依赖于该对象的状态。这个状态通常用很多枚举量来表示。通常,有很多个操作包含这个相同的条件结构。state模式将每一个条件分支都放入一个独立的类黄总,使你可以根据对象自身的情况将对象的状态作为一个对象,这一个对象可以不依赖于其他对象而独立变化。5.结构参考 阅读全文
posted @ 2012-05-22 20:45 w0w0 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 上次百度面试问到了单链表逆置的问题,和两个链表如何判相交的问题现在有空把碰到过的跟单链表相关的面试题整理一下1.单链表原地逆置#include<iostream>using namespace std;class node{public: node(int n) { data = n; next = NULL; } node(){}; int data; node *next;};class list{private: node* head;public: list() { head = new node... 阅读全文
posted @ 2012-05-22 10:08 w0w0 阅读(227) 评论(0) 推荐(0) 编辑
摘要: observer(观察者)——对象行为型模式1.意图定义对象见的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并且自动更新2.别名依赖dependen发布——订阅publish——subscribe3.动机将一个系统分割成一系列相互协作的类有一个常见的副作用,需要维护相关对象间的一致性。我们不希望因为需要维护一致性而使各类紧密耦合,这样会影响可重用性。观察者模式描述了如何建立这种关系。一个目标可以有任意数目的依赖他的观察者。一旦目标状态发生改变,所有观察者都同时得到通知。作为对这个通知的响应,每个观察者都将查询目标以使其状态与目标状态同步。4.适用性1)当一个抽 阅读全文
posted @ 2012-05-21 22:24 w0w0 阅读(357) 评论(0) 推荐(0) 编辑
摘要: memento(备忘录)——对象行为型模式1.意图在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以将该对象恢复到之前保存的状态。2.别名Token3.动机有时候有必要记录一下对象的内部状态。但是对象通常又封装了部分或者所有的状态信息,使得其状态不能被其他对象访问,也就不可能在该对象之外保存状态。而暴露其内部状态又违反了封装原则。我们可以用备忘录来解决这一问题。一个备忘录是一个对象,它存储另一个对象在某个瞬间的内部状态,而后者被称为备忘录的原发器。原发器用描述当前状态的信息初始化备忘录,只有原发器可以向备忘录中存取信息。4.适用性必须保存一个对象在某一个时刻 阅读全文
posted @ 2012-05-21 20:45 w0w0 阅读(298) 评论(0) 推荐(0) 编辑
摘要: mediator(中介者模式)——对象行为型模式1.意图用一个中介对象来封装一系列的对象交互。中介者使不同对象不需要显式地相互引用,从而使其松散耦合,从而使得可以独立地改变他们之间的交互。2.动机面向对象设计鼓励将行为分部到各个对象中,这种分部可能会导致对象间有许多连接。在最坏的情况下,每个对象都知道其他所有的对象。虽然将一个系统分隔成很多对象通常会增加可复用性,但是对象间的相互连接的激增又会降低其可复用性。可以通过将集体行为封装在一个单独的中介者对象中以避免这个问题,中介者负责控制和协调对象间的交互。中介者充当一个中介以使组中的对象不再相互显式的引用。这些对象仅知道中介者,从而减少了相互连接 阅读全文
posted @ 2012-05-21 16:41 w0w0 阅读(264) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 28 下一页