摘要: 题意:给定同一个图上的两种路径,求出从某点出发到另一点的路径长度来回长度之比最大的情况。该题对两套图的处理让代码十分恶心,而且最后还要输出路径。计算出最优值最后在计算一次路径,幸好没有要求在相同的情况下按照字典序最小输出。代码如下:#include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <queue>using namespace std;const int INF = 0x3f3f3f3f;int N, M, K;struct 阅读全文
posted @ 2013-03-08 22:16 沐阳 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 题意:点与点之间有多条路,并且路是按时开放的,因此需要在边上记录更多的信息。读取一行数时不知道有stringstream类。代码如下:#include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <queue>#include <string>using namespace std;const int INF = 0x3f3f3f3f;int N, M, S, T;string str;struct Edge { int v 阅读全文
posted @ 2013-03-08 16:51 沐阳 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 题意:简单点说就是给定一棵树,每个节点都有一个权值,现在要求求出这棵树的一个联通的一枝使其权值最大。解法:设sum[i]为包含i节点在内的一枝的最大权值和,那么sum[i] = val[i] + max(0, sum[j])其中(i,j)之间存在边。当sum[j]为负数时,对父亲节点的贡献就为0了。代码如下:#include <cstdio>#include <iostream>#include <cstring>#include <cstdlib>#include <algorithm>using namespace std;int 阅读全文
posted @ 2013-03-08 14:37 沐阳 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 第十章对象和类爬山涉水终于来到了类的面前,该章开始,终于将于类进行零距离接触了。OOP设计者的思考方式采用过程性编程方法时,首先考虑要遵循的步骤,然后考虑如何表示这些数据。OOP程序员首先考虑数据——不仅要考虑如何表示这些数据,还要考虑如何使用数据。用户与数据交互的方式有三种:初始化、更新和报告——这就是用户接口。在C++中,用户定义类型指的是实现抽象接口的类设计,一个好的接口设计应该与具体的数据关系不大,使用者无需考虑内部数据时如何运转的,修改一个类也不要去改动接口,只需要去修改实现的细节。成员变量、函数类不同于C语言中的结构体,类中还定义了类中数据与程序员交互的操作,成员变量和函数的作用域 阅读全文
posted @ 2013-03-08 10:00 沐阳 阅读(307) 评论(0) 推荐(0) 编辑