摘要: 1001显然,题目给的是一个0/1规划模型。解题的关键在于如何看出这个模型的本质。3个条件明显在刻画未知数之间的关系,从图论的角度思考问题,容易得到下面3个结论:1.X12+X13+...X1n=1于是1号节点的出度为12..X1n+X2n+...Xn-1n=1于是n号节点的入度为13.∑Xki=∑Xij于是2~n-1号节点的入度必须等于出度于是3个条件等价于一条从1号节点到n号节点的路径,故Xij=1表示需要经过边(i,j),代价为Cij。Xij=0表示不经过边(i,j)。注意到Cij非负且题目要求总代价最小,因此最优答案的路径一定可以对应一条简单路径。最终,我们直接读入边权的邻接矩阵,跑一 阅读全文
posted @ 2012-08-16 19:43 pony1993 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2585构图稍微复杂点,根据题目描述得到一个窗口的覆盖关系,根据覆盖关系可以构造一个有向图, 以9个窗口为顶点,如果A号窗口可以覆盖B号窗口,则有一条有向边<A,B>,构造完有向图后,如果是一个正常屏幕,则图为有向无环图(因为不可能存在A覆盖B,B覆盖A),所以该题可以拓扑排序判断环来解决。例如:题目中给的两个样例,可以构造为由图可知,第一组样例没有出现环,即屏幕是正常的,第二组样例出现了环,所以屏幕是不正常的。代码: 1#include<iostream>2#include<cstring>3# 阅读全文
posted @ 2012-08-16 10:36 pony1993 阅读(852) 评论(0) 推荐(0) 编辑

View My Stats