当前位置: 首页 > 编程日记 > 正文

【网络流24题】最小路径覆盖问题

【题目】1738: 最小路径覆盖问题

【题解】网络流

关于输出路径,因为即使有反向弧经过左侧点也一定会改变左侧点的去向,若没连向右侧就会被更新到0,所以不用在意。

mark记录有入度的右侧点,然后从没入度的右侧点开始把整条路径输出来即可。

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn=100000,inf=0x3f3f3f3f;
int n,m,S,T,d[maxn],q[10010],first[maxn],tot=1,nex[maxn];
bool mark[maxn];
struct edge{int from,v,flow;}e[maxn];
void insert(int u,int v,int w)
{tot++;e[tot].v=v;e[tot].flow=w;e[tot].from=first[u];first[u]=tot;tot++;e[tot].v=u;e[tot].flow=0;e[tot].from=first[v];first[v]=tot;}
bool bfs()
{memset(d,-1,4*(2*n+3));int head=0,tail=1;q[0]=S;d[S]=0;while(head<tail){int x=q[head++];if(head>10000)head=0;for(int i=first[x];i;i=e[i].from)if(e[i].flow&&d[e[i].v]==-1){int y=e[i].v;d[y]=d[x]+1;q[tail++]=y;if(tail>10000)tail=0;}}return d[T]!=-1;
}
int dinic(int x,int a)
{
//    printf("x=%d a=%d\n",x,a);if(x==T||a==0)return a;int flow=0,f;for(int i=first[x];i;i=e[i].from)if(e[i].flow&&d[e[i].v]==d[x]+1&&(f=dinic(e[i].v,min(a,e[i].flow)))>0){if(f>0){nex[x]=e[i].v;if(e[i].v-n>0)mark[e[i].v-n]=1;}e[i].flow-=f;e[i^1].flow+=f;a-=f;flow+=f;if(a==0)break;}return flow;
}
int main()
{scanf("%d%d",&n,&m);S=0,T=2*n+1;for(int i=1;i<=m;i++){int u,v;scanf("%d%d",&u,&v);insert(u,v+n,1);}for(int i=1;i<=n;i++)insert(S,i,1);for(int i=n+1;i<=2*n;i++)insert(i,T,1);int ans=n;while(bfs())ans-=dinic(S,inf);for(int i=1;i<=n;i++)if(!mark[i]){printf("%d ",i);int k=i;while(nex[k]){printf("%d ",nex[k]-n);k=nex[k]-n;}printf("\n");}printf("%d",ans);return 0;
}
View Code

转载于:https://www.cnblogs.com/onioncyc/p/6713130.html

相关文章:

Windows的端口列表(转载)

按端口号可分为3大类&#xff1a; &#xff08;1&#xff09;公认端口&#xff08;Well Known Ports&#xff09;&#xff1a;从0到1023&#xff0c;它们紧密绑定&#xff08;binding&#xff09;于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如&#xff1a;80端…

有了图分析,可解释的AI还远吗?

GraphAI 更多新可能随着深度学习、机器学习等人工智能技术的逐级深入&#xff0c;企业对挖掘大数据的关联性去探索“隐藏”在背后的商业价值提出了更高的要求。尤其是&#xff0c;新一代人工智能技术正从“感知智能”迈向“认知智能”&#xff0c;让机器实现“理解、推理、决策…

智能公交GPS

蓝斯通信推出LZ8713B*-X车载终端。这款设备是按交通部JT/T794-2011《道路运输车辆卫星定位系统车载终端技术要求 》和JT/T808-2011《道路运输车辆卫星定位系统车载终端通讯协议及数据格式》技术标准进行设计的。 产品集GPS&#xff08;可选配BD2双模模块&#xff09…

数据化管理在餐饮业中的应用

一、为什么要重视数据化运营和管理&#xff1f; “从经营到管理&#xff0c;管理方向需要数据灯塔” 餐饮市场和社会各业具有相似之处&#xff0c;也有很明确的本质不同。 1、首先&#xff0c;餐饮市场不像电信、石油市场是垄断性的&#xff0c;餐饮市场充分透明&#xff0c;符…

1 元秒杀 1000+ 册爆款电子书,错过再等一年!

wow代码人们让钱包瑟瑟发抖的双十一已经来啦与此同时码不停蹄地向你奔赴而来的还有 CSDN 为你准备的???? 1 元秒杀 ????价值 3.5 万元的爆款电子书限时特惠&#xff0c;仅需 1 元你&#xff0c;准备好了吗仅限 500 人速领????????????错过悔10年系列好书一

关于XP进程问题(转载)

Smss.exe 会话管理子系统&#xff0c;它负责启动用户会话。这个进程是通过系统进程来初始化的&#xff0c;包括对已经正在运行的Winlogon&#xff0c;Win32&#xff08;Csrss.exe&#xff09;线程和设定的系统变量作出反映。在它启动这些进程后&#xff0c;它等待Winlogon或者C…

NoticeView

2019独角兽企业重金招聘Python工程师标准>>> NoticeView 是 iOS 的消息提醒组件&#xff0c;类似 TweetBot 的提醒。 转载:http://www.adobex.com/ios/source/details/00001068.htm 转载于:https://my.oschina.net/u/868244/blog/107344

elasticsearch 分片恢复经历了哪些步骤?

why 服务重启&#xff0c;或者与集群断网重连时&#xff0c;需要和集群当前的主分片的数据保持一致。 how 上图中&#xff0c;RecoverTarget 代表加入集群前想要同步数据的分片&#xff0c;RecoverSource代表当前集群中的正常分片。 同步过程本质上来说&#xff0c;就是通过拷贝…

Java 事件适配器 Adapter

事件适配器Adapters 在上一篇文章中&#xff1a; http://www.cnblogs.com/mengdd/archive/2013/02/06/2908241.html 第二个例子中&#xff0c;可以看到要实现相应的事件监听器接口&#xff0c;就必须实现其中的所有方法。 有的接口中包含多个方法&#xff08;多个事件处理器&am…

Facebook面经全披露,我是怎么拿到机器学习工程师offer的?

作者 | Rahul Agarwal翻译 | Katie&#xff0c;责编 | 晋兆雨出品 | AI科技大本营头图 | 付费下载于视觉中国去年八月&#xff0c;我正在接受面试。那时&#xff0c;我已经分别接受Google India和Amazon India的机器学习和数据科学职位面试。然后我的上级建议我申请Facebook伦敦…

内存性能参数详解(转载)

内存性能参数详解 先说说最有效提高你机器内存性能的几个参数&#xff1a;CL&#xff0c;TRP&#xff0c;TRCD CAS Latency “列地址选通脉冲潜伏期” BIOS中可能的其他描述为&#xff1a;tCL、CAS Latency Time、CAS Timing Delay&#xff0c;这个值一般是1.5~3之间&#xff0…

一些关于Hibernate延迟加载的误区

最近面试别人&#xff0c;正好出的笔试题中有道关于Hibernate延迟加载的问题&#xff0c;聊天过程中发现很多人对Hibernate的延迟加载有些理解误区&#xff0c;写 些东东在这里&#xff0c;希望对大家有所帮助。 首先是第一个误区&#xff1a;延迟加载只能作用于关联实体看到这…

Java单元测试与Jutil详解(一) 简介

1.什么是单元测试 单元测试&#xff08;unit testing&#xff09;&#xff0c;是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义&#xff0c;Java里单元指一个类。总的来说&#xff0c;单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中…

反转!BAT编程吸金榜来了,AI程序员刷爆了......

从2017年开始&#xff0c;人工智能便波澜不断&#xff0c;无论是从BAT高调布局AI&#xff0c;还是从年薪80万招聘AI应届生&#xff0c;炽手可热形容AI工程师一点都不过分。百度推出“少帅计划”,针对30岁以下的深度学习科学家&#xff0c;开出100万以上年薪&#xff01;阿里巴巴…

Windows启动文件

Windows启动文件 Files Used in the Windows 2000 Boot Process FileLocationBoot stageNtldr System partition root (C:/ )Preboot and bootBoot.iniSystem partition rootBootBootsect.dosSystem partition rootBoot (optional)Ntdetect.com System partition rootBootNtboo…

Sublime Text 3 个人使用总结

待更新 Sublime Text 3\Packages\FileHeader\template\header转载于:https://www.cnblogs.com/yourstars/p/6739965.html

破解出cmos密码(转载)

----CMOS (Award)密码简介与破解0--3法---- 计算机启动时&#xff0c;由存放在主板ROM中的bios将cmos数据调入内存中&#xff0c;以实现控制系统。 其中&#xff0c;Award主板上的一小块RAM用于存放CMOS数据&#xff0c;地址为00-7F的共128个字节中。 当中的字节 1c和1d存放的就…

NLP实战:利用Python理解、分析和生成文本 | 赠书

导读&#xff1a;本文内容参考自《自然语言处理实战&#xff1a;利用Python理解、分析和生成文本》一书&#xff0c;由Hobson Lane等人所著。本书是介绍自然语言处理&#xff08;NLP&#xff09;和深度学习的实战书。NLP已成为深度学习的核心应用领域&#xff0c;而深度学习是N…

Servlet入门 代码

1. 第一个Servlet程序 package com.allanlxf.serv.basic; import javax.servlet.*; import java.io.*; public class TimeServlet implements Servlet {private ServletConfig config;public TimeServlet(){System.out.println("TimeServlet()");}public void init(S…

统计学习方法:朴素贝叶斯

作者&#xff1a;桂。 时间&#xff1a;2017-04-20 18:31:37 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/6740308.html 前言 本文为《统计学习方法》第四章&#xff1a;朴素贝叶斯&#xff08;naive bayes&#xff09;&#xff0c;主要是借助先验知识统计估计&…

Windows自动启动程序的十大藏身之所(转载)

Windows自动启动程序的十大藏身之所 Windows启动时通常会有一大堆程序自动启动。不要以为管好了“开始→程序→启动”菜单就万事大吉&#xff0c;实际上&#xff0c;在Windows XP/2K中&#xff0c;让Windows自动启动程序的办法很多&#xff0c;下文告诉你最重要的两个文件夹和八…

警惕!银行风控模型或将“摇身一变”,成为风险缔造者

作者 | 祝世虎来源 | 现代金融风险管理头图 | CSDN下载自视觉中国2011年&#xff0c;美联储发布了《模型风险管理监督指南&#xff08;SR11-7&#xff09;》&#xff08;《SRLetter 11-7: Supervisory Guidance on Model Risk Management》&#xff09;&#xff0c;该指南逐步成…

Spring注解注入

spring注入方式-----注解注入&#xff08;1&#xff09;操作&#xff1a;首先在要注入的类前面加上&#xff1a;Component(与后面三个是等价的)Repository&#xff08;持久层&#xff09;,Service业务层,Controller和控制层应为不能自动识别某个类是否是持久层&#xff0c;业务…

zip 的压缩原理与实现

http://www.blueidea.com/bbs/newsdetail.asp?id1819267&page2&posts&Daysprune5&lp1无损数据压缩是一件奇妙的事情&#xff0c;想一想&#xff0c;一串任意的数据能够根据一定的规则转换成只有原来 1/2 - 1/5 长度的数据&#xff0c;并且能够按照相应的规则还…

上海交大发布 MedMNIST 医学图像分析数据集 新基准

来源 | HyperAI超神经责编 | 晋兆雨头图 | 付费下载于视觉中国内容概要&#xff1a;医学图像分析是一个非常复杂的跨学科领域&#xff0c;近日上海交通大学发布了 MedMNIST 数据集&#xff0c;有望促进医学图像分析的发展。关键词&#xff1a;医学图像分析 公开数据集令人头秃…

VS 2010中对WPF4有哪些多点触摸支持?

随着多点触摸输入和操作处理支持的引进&#xff0c; WPF 4提供了一个极棒的方式&#xff0c;可在Windows 7中使你的客户端应用大放光彩&#xff0c;新的特性包括&#xff1a;UIElement上的多点触摸操作、惯性&#xff08;漫游&#xff08;Pan&#xff09;、缩放&#xff08;Zoo…

业务组件架构的思考

在iOS开发中&#xff0c;我们接触比较多的是MVC架构&#xff0c;下面我们先来分析一下MVC架构。 1.MVC MVC是一种软件架构模式&#xff0c;在1978年由Trygve Reenskaug提出&#xff0c;它把软件系统分为三个基本部分&#xff1a;模型&#xff08;Model&#xff09;、视图&#…

强化学习:10种真实的奖励与惩罚应用

作者 | Patrycja翻译 | Katie&#xff0c;责编 | 晋兆雨出品 | AI科技大本营头图 | 付费下载于视觉中国在强化学习&#xff08;Reinforcement Learning&#xff09;中&#xff0c;对代理进行奖励和惩罚机制的培训。代理的正确行为会得到奖励&#xff0c;而错误的行为会受到惩罚…

PHP feof() 函数读文件的使用

(PHP 4, PHP 5) feof — 测试文件指针是否到了文件结束的位置 如果服务器没有关闭由 fsockopen() 所打开的连接&#xff0c;feof() 会一直等待直到超时而返回TRUE。默认的超时限制是 60 秒&#xff0c;可以使用 stream_set_timeout() 来改变这个值。 文件指针必须是有效的&a…

批处理解决“易语言难题”

为什么80%的码农都做不了架构师&#xff1f;>>> 发现还没有Win批处理的&#xff0c;也就是DOS&#xff0c;我来凑个热闹&#xff0c;哈哈&#xff5e; maxos 汇总贴 APPLEUFO 原题链接 不罗嗦&#xff0c;上代码啦&#xff1a; echo off set c_title批处理…