`
huobengle
  • 浏览: 857915 次
文章分类
社区版块
存档分类
最新评论

POJ3469 - 构造图..做最大流..

 
阅读更多

这道题初看和网络流完全没关系.....以前做的一些网络流都是些模板题....这道题就要自己来构图了...

首先假设没有后面的两两不共存需要代价的条件....也就是只要一个程序去A处理器要多少代价...去B处理器要多少代价...问总共的最小代价..

构造图...源点为A处理器...中间一列需要执行的程序...汇点为B处理器..源点向所有的中间点做边...容量为每个程序放在A处理器执行的代价...所有中间点向汇点做边..容量为每个程序放在B处理器执行的代价....做一次最大流...可以发现得到的最大流即为所需的最小代价....

现在加入条件...给出哪几对不在一个处理器处理就要更多的代价...则将这两个点做两条边..x-->y容量为c...y-->x容量为c...因为每条增广路所流的流量是这条增广路上剩余容量最少的边的流量...通过做最大流依然能为我们筛选出最小的代价..

还有一点就是网络流的存储方式....网络流一般是用邻接矩阵最方便...但是这道题的数据量过大...用另接矩阵会爆空间...所以要采用一种即节省空间又不太耗时的方法...用一个数组存下所有边...然后用一种伪链表的方式来存储...详细见程序的insert段...这样就能做到省空间...最多要用多少边...就开多大数组...查询时特别是这里更新剩余网络时..相当方便和快捷..对两条流量向反的边处理很巧妙...每次建图的时候就将反向变建在当前边的下一位了...这就方便剩余网络的修改...细心点可以发现..这样每次都做一个反向边...那就很有可能会有若干条重复的边出现( 比如先做了 1->2 c=3...马上将下一位做 2->1 c=0....后面又读入一个 2 -> 1 c=2...马上将下一位做 1->2 c=0 ) 这样没有关系....不会有影响....因为我可以这条边做完了...再做下一个这条边..结果是一样的..


Program:



分享到:
评论

相关推荐

    北大oj 题目分类

    初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法.... (4)递推.... (5)构造法.(poj3295) ... (6)最大流的增广路算法(KM算法). (poj1459,poj3436) ......

    kuangbin acm模板超级好用

    3 数据结构 56 3.1 划分树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2 RMQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

    poj-solve:算法练习

    Algorithm-Java Algorithms + Data Structures = Programs....最短路径(dijkstra,bellman-ford,floyd,heap+dijkstra)(,,poj1062,poj2253,poj1125,poj2240) 最小生成树(prim,kruskal)(p

    求一个无向图的最大环的边数(POJ3895) (java解答)

    NULL 博文链接:https://128kj.iteye.com/blog/1720196

    浙江大学ACM模板 计算几何,图论,数据结构,经典题的模板

    8.10 最大网络流 175 8.11 最小费用流 180 8.12 最大团问题 182 8.13 二分图匹配 184 8.14 带权的最优二分图匹配 184 9.搜索算法概略 187 9.1 迭代深搜+IDA* 187 9.2 分之界限法(深搜) 189 9.3 A* 8数码问题( ...

    数算POJ二叉树作业

    数算的二叉树的POJ作业,分别有:二叉树1_二叉树的操作;二叉树2_文本二叉树;二叉树3_由中根序列和后根序列重建二叉树;二叉树4_表达式.表达式树.表达式求值;二叉树5_Huffman编码树;二叉树6_二叉搜索树;二叉树7_...

    全国软件设计大赛测试题目.doc

    二进制串可以转换为FBI树结构,FBI树是一棵二叉树,在该二叉树中包含F节点、B节点 和I节点三种。 可以将一个长度为2n的二进制串S构造为一棵FBI树T,方法为: T的根结点为R,其类型与串S的类型相同; 若串S的长度...

    数据结构中poj题目算法分类——针对ACM竞赛

    数据结构中的各算法,初级,中级,高级。如集合,图的规划,数据等

    程序设计导引及在线实践.PDF

    许多大学的本科计算机专业程序设计课程的教法,重语法规则,缺算法概念,这就容易导致学生由于基本技能缺失而在学习数据结构时产生困难,或难以学精。对于非计算机专业的学生来说,仅掌握一门程序设计语言的语法规则...

    程序设计导引及在线实践 pdf

    许多大学的本科计算机专业课程设置,在程序设计语言和数据结构这两门课之间,并无空间进行基础算法教学,这就容易导致学生由于基本技能缺失而在学习数据结构时产生困难,或难以学精。对于非计算机专业的学生来说,仅...

    程序设计计算机科学与技术的核心.pptx

    输入 输入由一个或多个测试用例组成,最后一行用0.00表示输入结束,每个测试用例一行,是一个3位数正浮点数c,最小值0.01,最大值5.20。 程序设计计算机科学与技术的核心全文共42页,当前为第17页。 输出 对每个...

    挑战程序设计竞赛(第2版)

    3.5.1 最大流 3.5.2 最小割 3.5.3 二分图匹配 3.5.4 一般图匹配 3.5.5 匹配、边覆盖、独立集和顶点覆盖 3.5.6 最小费用流 3.5.7 应用问题 3.6 与平面和空间打交道的计算几何 3.6.1 计算几何基础 3.6.2 极限情况 ...

    算法训练方案详解

    算法训练方案,一步步掌握个各种算法。。一.基本算法: 二.图算法:三.数据结构.四.简单搜索五.动态规划六.数学七.计算几何学.中级:

    leetcode中国-OJ:在线法官和代码模板

    poj: 顶级编码器: 代码力量: 间谍: 佐伊: 福伊: 紫外线: ltOJ: leetcode: 重复部分: 稀疏动态规划 分而治之的问题 图算法问题 试题 搜索问题、DFS、BFS 和切边 排序:堆排序 流算法。 : 布隆过滤器: 卢: ...

    leetcode和oj-OJ_exercise:今年,作者被清华大学软件学院录取。这里是JIKAO编码练习

    今年,作者被清华大学软件学院聘用,得到了在字节跳动做算法工程师的兼职工作。 这是JIKAO编码练习。所有代码都是用C++编写的,这是清华大学的要求。 OJ_推荐 生病的学生加入 THU 或 PKU:POJ 生病的学生找工作:...

    leetcode二叉树题目图解-procon-study-group:AOJ代码(日文)

    二叉树主题图Procon(算法/数据结构)学习会 日程 基本上每周一,但会根据参加者的方便程度灵活调整。 参会人员(按发言顺序) @sotetsuk (AOJ: sotetsuk, POJ: sotetsuk, AtCoder: sotetsuk) @nishimuuu (AOJ: ...

Global site tag (gtag.js) - Google Analytics