UVA_10594

这个题目没看懂什么意思,但看样例觉得应该是把边的容量都设成K,把费用设成时间,然后求个从1到N的最小费用流。为了限制流量,我们可以连一条容量为D、费用为0的0->1这样的有向边,然后求图的最小费用最大流即可。

#include<stdio.h>#include<string.h>#define MAXD 110#define MAXM 20100const long long int INF = 10000000000000000ll;int first[MAXD], next[MAXM], v[MAXM], a[MAXM], b[MAXM], N, M, e;int p[MAXD], link[MAXD], q[MAXD], inq[MAXD];long long int w[MAXM], cost[MAXM], flow[MAXM], D, K;long long int d[MAXD];void add(int x, int y, long long int c, long long int f){    v[e] = y;    cost[e] = c;    flow[e] = f;    next[e] = first[x];    first[x] = e;    e ++;}int init(){int i;if(scanf("%d%d", &N, &M) != 2)return 0;for(i = 0; i < M; i ++)        scanf("%d%d%lld", &a[i], &b[i], &w[i]);    scanf("%lld%lld", &D, &K);    e = 0;    memset(first, -1, sizeof(first));for(i = 0; i < M; i ++)    {        add(a[i], b[i], w[i], K);        add(b[i], a[i], -w[i], 0);        add(b[i], a[i], w[i], K);        add(a[i], b[i], -w[i], 0);    }    add(0, 1, 0, D);    add(1, 0, 0, 0);return 1;}void SPFA(){int i, u, front, rear;for(i = 1; i <= N; i ++)        d[i] = INF;    d[0] = 0;    memset(inq, 0, sizeof(inq));    front = rear = 0;    q[rear ++] = 0;    inq[0] = 1;while(front != rear)    {        u = q[front ++];if(front > N)            front = 0;        inq[u] = 0;for(i = first[u]; i != -1; i = next[i])if(flow[i] && d[u] + cost[i] < d[v[i]])            {                d[v[i]] = d[u] + cost[i];                p[v[i]] = u;                link[v[i]] = i;if(!inq[v[i]])                {                    q[rear ++] = v[i];if(rear > N)                        rear = 0;                    inq[v[i]] = 1;                }            }    }}long long int mincost(){long long int res = 0, f = 0, a;int i, u;for(;;)    {        SPFA();if(d[N] == INF)break;        a = INF;for(u = N; u != 0; u = p[u])        {int y =link[u];if(flow[y] < a)                a = flow[y];        }for(u = N; u != 0; u = p[u])        {int y = link[u];            flow[y] -= a;            flow[y ^ 1] += a;        }        res += a * d[N];        f += a;    }if(f == D)return res;elsereturn -1;}int main(){while(init())    {long long int res = mincost();if(res >= 0)            printf("%lld\n", res);else            printf("Impossible.\n");    }return 0;}

转载于:https://www.cnblogs.com/staginner/archive/2011/10/16/2214381.html

UVA 10594 Data Flow相关推荐

  1. 深度学习编译器Data Flow和Control Flow

    深度学习编译器Data Flow和Control Flow 本文介绍了一下深度学习框架的Data Flow和Control Flow,基于TensorFlow解释了TensorFlow是如何在静态图中 ...

  2. Spring Cloud Data Flow 中的 ETL

    来源:SpringForAll社区 1 概述 Spring Cloud Data Flow是一个用于构建实时数据管道和批处理过程的云原生工具包. Spring Cloud Data Flow已准备好用 ...

  3. Pivotal发布Spring Cloud Data Flow 1.5版本

    Pivotal发布了Spring Cloud Data Flow 1.5版本,这是一款用于构建实时数据服务的项目,该版本的新功能包括: \\ 对用户界面改进\\t 更新的Spring Cloud St ...

  4. 01_关于TensorFlow、什么是数据流图(Data Flow Graph)、TensorFlow的特征、谁可以使用Tensorflow、为啥Google要开源这个神器?

    1 关于TensorFlow TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表 ...

  5. Spring Cloud Data Flow手动安装

    前言 Spring Cloud Data Flow 2.4.2 win7 简介 Microservice based Streaming and Batch data processing for C ...

  6. [论文阅读] (03) 清华张超老师 - GreyOne: Discover Vulnerabilities with Data Flow Sensitive Fuzzing

    数据流敏感的漏洞挖掘方法 Discover Vulnerabilities with Flow Sensitive Fuzzing Chao Zhang 清华大学 2nd International ...

  7. goim 中的 data flow 数据流转及思考

    goim 文章系列(共5篇): goim 架构与定制 从goim定制, 浅谈 golang 的 interface 解耦合与gRPC goim中的 bilibili/discovery (eureka ...

  8. 微软BI 之SSIS 系列 - 理解Data Flow Task 中的同步与异步, 阻塞,半阻塞和全阻塞以及Buffer 缓存概念...

    开篇介绍 在 SSIS Dataflow 数据流中的组件可以分为 Synchronous 同步和 Asynchronous 异步这两种类型. 同步与异步 Synchronous and Asynchr ...

  9. 数据可视化 —— 数据流图(Data Flow Diagram)

    数据流图(Data Flow Diagram):简称 DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能.数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表 ...

最新文章

  1. 第二阶段团队项目冲刺站立会议(九)
  2. php xml对象解析_php解析xml 的四种简单方法(附实例)
  3. Window 2003证书服务器迁移到Windows 2008 R2
  4. 计算机的系统组成说课教案,计算机系统组成说课稿.doc
  5. Android 功耗(11)---Android 功耗分析之wakelock
  6. 深度优先搜索之图的表示方法
  7. linux定时任务crontab的设置
  8. laravel路由和MVC
  9. 去除本机利用ssh协议登陆远程机器的痕迹
  10. 《深入浅出struts》读书笔记(2)
  11. Linux下格式化sd卡和重新分区
  12. border-color属性设置单边边框和综合四边边框颜色
  13. SELECT 1 FROM DUAL中的DUAL的作用
  14. Enterprise Architect:绘制基本包图(详细步骤)
  15. 管理IT外包的七大秘诀
  16. 金蝶K3 SQL报表系列-委外未勾稽明细表金蝶K3 SQL报表系列-委外未勾稽明细表
  17. 周测作业五(apache的安装与配置)
  18. 居中小圆点html,圆点怎么打
  19. 【特写】中国卡通形象设计师——初心不改,画作一方天地
  20. CPU处理器的分类(ARM系列中央处理器)

热门文章

  1. 大白话 + 13 张图解 Kafka
  2. 不懂算法,还想进大厂?做梦吧
  3. 好文 | 架构师更多的是和人打交道,说说我见到和听说到的架构师升级步骤和平时的工作内容
  4. raft原理的动画演示
  5. 多线程:happens-before 先行发生原则
  6. Android --- 无法预览xml布局视图的解决办法
  7. 计算器显示代码java_java编写的计算器源代码
  8. java 重构 if else_java中繁杂的if/else怎么重构
  9. opencv4 c++ 提取图片中的白色区域_【从零学习OpenCV 4】形态学应用
  10. 成功解决pandas.core.frame.DataFrame格式数据与numpy.ndarray格式数据不一致导致无法运算问题