poj 1422 最小路径覆盖

MTK metadata中AF模块的移除与配置调整 本文详细介绍了在MTK平台Camera开发中如何移除metadata中的AF(自动对焦)模块。通过系统清理MTK_CONTROL_AF_REGIONS、MTK_CONTROL_MAX_REGIONS等关键配置项,并调整对焦模式及硬件特性声明,确保定制化设备在禁用自动对焦功能后的稳定运行。 阅读详情

Air Raid
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 7172 Accepted: 4261

Description

Consider a town where all the streets are one-way and each street leads from one intersection to another. It is also known that starting from an intersection and walking through town's streets you can never reach the same intersection i.e. the town's streets form no cycles.

With these assumptions your task is to write a program that finds the minimum number of paratroopers that can descend on the town and visit all the intersections of this town in such a way that more than one paratrooper visits no intersection. Each paratrooper lands at an intersection and can visit other intersections following the town streets. There are no restrictions about the starting intersection for each paratrooper.

Input

Your program should read sets of data. The first line of the input file contains the number of the data sets. Each data set specifies the structure of a town and has the format:

no_of_intersections
no_of_streets
S1 E1
S2 E2
......
Sno_of_streets Eno_of_streets

The first line of each data set contains a positive integer no_of_intersections (greater than 0 and less or equal to 120), which is the number of intersections in the town. The second line contains a positive integer no_of_streets, which is the number of streets in the town. The next no_of_streets lines, one for each street in the town, are randomly ordered and represent the town's streets. The line corresponding to street k (k <= no_of_streets) consists of two positive integers, separated by one blank: Sk (1 <= Sk <= no_of_intersections) - the number of the intersection that is the start of the street, and Ek (1 <= Ek <= no_of_intersections) - the number of the intersection that is the end of the street. Intersections are represented by integers from 1 to no_of_intersections.

There are no blank lines between consecutive sets of data. Input data are correct.

Output

The result of the program is on standard output. For each input data set the program prints on a single line, starting from the beginning of the line, one integer: the minimum number of paratroopers required to visit all the intersections in the town.

Sample Input

2
4
3
3 4
1 3
2 3
3
3
1 3
1 2
2 3

Sample Output

2
1

Source


求最小路径覆盖数,建立左右各有n个顶点的二分图,存在边(u,v),将左边第u个点连接右边第v个点,则路径数=n-最大匹配数。
#include <iostream>
#include <cstring>
#include <cstdio>
#include <vector>
using namespace std;

#define maxn 250

vector<int> g[maxn];
int match[maxn];
int vis[maxn];
int n,m;

int dfs(int u)
{
    vis[u]=1;
    int v;
    for(int i=0; i<g[u].size(); i++){
        v=g[u][i];
        if(match[v]==-1 || (!vis[match[v]] && dfs(match[v]))){
            match[u]=v;
            match[v]=u;
            return 1;
        }
    }

    return 0;
}

int main()
{
    int T;
    scanf("%d", &T);
    while(T--){
        scanf("%d%d", &n, &m);
        for(int i=0; i<=n; i++) g[i].clear();
        memset(match, -1, sizeof(match));

        int u,v;
        while(m--){
            scanf("%d%d", &u, &v);
            g[u].push_back(n+v);
        }

        int mat=0;
        for(int i=1; i<=n; i++)
            if(match[i]==-1){
                memset(vis, 0, sizeof(vis));
                mat+=dfs(i);
            }
        printf("%d\n", n-mat);
    }
    return 0;
}






使用C#实现Padim算法的训练和推理:智能缺陷检测的前沿技术 Padim (Patch-based Deep Image Model) 是一种用于无监督异常检测的深度学习算法。它通过提取图像中的局部特征(patch),并在这些特征上构建一个正常样本的分布模型来识别异常。无监督学习:不需要标注数据,适用于缺乏标签的情况。局部特征提取:通过卷积神经网络提取图像的局部特征(patch)。低秩近似:利用低秩近似构建正常样本的协方差矩阵,有效降低计算复杂度。鲁棒性强:能够处理多种类型的缺陷和噪声。 阅读详情

相关推荐

Xilinx XDMA IP核配置实战:AXI Memory Mapped vs Stream选型指南(附PCIe调试技巧)

本文深入解析Xilinx XDMA IP核配置中AXI Memory Mapped与AXI Stream两种DMA接口的核心区别与选型策略。针对PCIe高速数据传输场景,详细对比了二者在数据特性、延迟、硬件资源及软件复杂度上的差异,为FPGA工程师在数据采集、实时处理等项目中做出高效设计决策提供实战指南,并附有关键的PCIe调试技巧。

qsc901234的博客 585

Cadence IC618与Spectre231安装配置全攻略:License、环境变量与依赖检查

EDA工具部署中,License管理与环境变量隔离是核心难点。FlexLM作为通用授权机制,通过守护进程和端口配置实现工具授权;环境变量则控制工具路径与库加载顺序,避免版本冲突。合理配置可确保IC618与Spectre231稳定运行,提升仿真效率。典型应用场景包括模拟IC设计、高校实验室及企业级EDA环境。本文聚焦Cadence IC618与Spectre231的安装实践,详解License配置、环境隔离及依赖检查,助你快速搭建可靠设计环境。

weixin_28721917的博客 326

poj1422_有向图最小路径覆盖数

这个题的题意是:在一个城镇中有路口和街道,这些街道是单向的并且不会形成环。每一个路口都会降落一名士兵,这些士兵会沿着街道的方向走。求走完所有路口所需要最少的士兵个数。 归纳这个题可得为,有向无环图的最小路径覆盖数,可以通过匈牙利算法求得。 在建图的过程中,跟无向图的建图类似,但是单向的。 以下是代码: View Code 1 #include <iostream&gt...

weixin_30824599的博客 210

Fluent求解器——湍流参数的设置

Fluent湍流参数的介绍和设置。

Ronko_G的博客 4万+

手把手教你用CsvView分析大疆无人机飞行日志(附实战CTF题解)

本文详细介绍了如何使用CsvView工具分析大疆无人机飞行日志,包括环境搭建、日志提取、核心功能解析及CTF实战技巧。通过实战案例,帮助读者掌握无人机取证的关键技术,提升日志分析能力,特别适合网络安全竞赛和实际取证场景。

weixin_42652674的博客 458

POJ 1422 (最小路径覆盖)

题目大意: 给定街道数量和交叉路口数量,以及每条路口之间有向连接,空降伞兵在岔路口,每个岔路口最多一个伞兵,伞兵可以沿着有向街道走,但是每个路口只能经过一个伞兵,问最少需要多少个伞兵才能将各个岔路口都访问到? 这是一道最小路径覆盖的题目 最小路径覆盖数 = 顶点数目 - 最大匹配边数 关键就是 求 最大匹配边数 这里用匈牙利算法。用DFS或者BFS不断的寻找增广路,找到一条的路,匹配的数

Jaster_wisdom的专栏 868

Agile Modbus使用和学习笔记

i < len;这里仅仅需要提供获取函数即可,离散输入是只读类型i++) {return 0;只读类型寄存器i++) {return 0;i < len;

Car12 168

poj1422(最小路径覆盖问题)

最小路径覆盖数: 对于一个DAG(有向无环图),选取最少条路径,使得每个 顶点属于且仅属于一条路径。路径长度可以为零;(有向图中找一些路径,使之覆盖了图中的所有顶点,就是任意一个顶点都跟那些路径中的某一条关联,且任何一个顶点有且只有一个与之关联) 最小路径覆盖数(最少边覆盖)=顶点数-最大匹配数; 思路:把每个点都拆成两个点,分为入点和出点,如果 u 到 v 有边,那么我们就让 u 的入点连向 v 的出点 , 匈牙利 算出最大匹配。 #include<iostream> #include&l

Keep_Trying_Go的博客 522

KEPServerEX作为MQTT客户端

打开软件: 测试没有连接上MQTT代理。

低码开发 1681

CryoEM - 使用 ChimeraX 工具 操作 冷冻电镜的 MRC 密度图(Density Map) 教程

由冷冻电镜 CryoSparc 软件所生成的 Volume,需要观察其内部结构,建议使用 ChimeraX 进行操作。

AGI 4962

POJ -1422Air Raid

题目意思说,伞兵空降城镇,空降以后会选择一条路访问两个城镇。 现在问要访问所有的城镇最少要空降多少次。   看到题目就有点像最小边覆盖,用最小的边去覆盖所有的顶点。 那么我们可以用二分图来求。 最小边覆盖+最大匹配=V(顶点的个数) 我们只需要构造一个二分图求得最大匹配以后用顶点个数减去就可以 #include #include #include #include #incl

Yuki_fx的博客 413

Xilinx FPGA ICAP原语实现多重配置

众所周知,常见的FPGA通常为SRAM结构,固件程序一般存放在外置的串行Flash中,比如SPI Flash,M25P16或N25Q128等。 FPGA启动时,一般先从SPI起始地址开始加载数据到内部的SRAM,加载完成、校验通过则会直接运行。 那么有没有可能在SPI Flash中存放两个或多个FPGA固件呢?

whik1194的博客 4614

POJ 1422 Air Raid(二分图匹配+最小路径覆盖+匈牙利算法)

Consider a town where all the streets are one-way and each street leads from one intersection to another. It is also known that starting from an intersection and walking through town's streets you can never reach the same intersection i.e. the town's stree

HJY 400

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

POJ 1422 最小路径点覆盖

题意 传送门 POJ 1422 Air Raid 题解 求解 DAGDAGDAG 的最小路径点覆盖,即使用尽量少的不相交的路径,覆盖 DAGDAGDAG 的所有节点。将 DAGDAGDAG 各点拆为两个点,分别为二分图的左部点与右部点,对原图的每条有向边,从起点的左部点向终点的右部点连边。此时左部点可以看做一段路径上的起点,右部点可以看做一段路径上的终点。目标是最小化终点数,那么答案为原图节点数减去二分图的最大匹配。 #include <algorithm> #include <cstd

neweryyy的博客 284

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

POJ 1422Air Raid(二分图最大匹配之最小路径覆盖)

题目地址:http://poj.org/problem?id=1422 这题纯裸d

scf0920 928

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

POJ 1422 Air Raid(DAG最小路径覆盖)

POJ 1422 Air Raid(DAG最小路径覆盖) http://poj.org/problem?id=1422 题意:        城市里通过交点->交点(有向)标示一条街道(不存在回路)。问空袭时,需要如何降下最少的伞兵(放到交点路口上),使得伞兵能在不重复走同样交点的条件下,所有的伞兵遍历完整个城市的所有交点。 分析:        其实每个伞兵走的就是一条有向的简单路径。

qq_36782366的博客 273

POJ 1422 最小路径覆盖

题意: 城市里通过交点->交点(有向)标示一条街道(不存在回路)。问空袭时,需要如何降下最少的伞兵(放到交点路口上),使得伞兵能在不重复走同样交点的条件下,所有的伞兵遍历完整个城市的所有交点。 分析: 其实每个伞兵走的就是一条有向的简单路径。我们要求的就是该DAG图的最少可以用多少条简单路径覆盖所有节点且任意两条路径不会有重复的节点。 这就是DAG的最小路径...

qq_40859951的博客 302

POJ 1422 Air Raid (最小路径覆盖)

题目链接:http://poj.org/problem?id=1422 题意:一个小镇有n个路口,m条单向边连接2个路口,降落若干个人到路口上,人可以通过边运动,要求所有的路口有人经过,问最少要几个人 思路:最小路径覆盖=点数-二分图最大匹配 由于是无向图,拆点求出来的最大匹配其实是原图的相连的点,每一个点算作一个路径,每有一个匹配路径数减1(因为2个点相连了嘛)

csdn364988181的博客 331

POJ1422 最小路径覆盖

题意:      一个战场,往战场上投放伞兵,每个伞兵不能后退,只能往前走,问你最少多少个伞兵可以吧所有的点都占领。 思路:      这个题是最小路径覆盖,最小路径覆盖 = n - 最大匹配数,首先说下什么是最小路径覆盖,给你一个有向无环图,问你最少用多少条无返回路径可以覆盖所有点,再说下为什么是n - 最大匹配数,想下,假如没有边,那么就是每个点放一个伞兵,假如只有一条边,那

天使也掉毛 713

最小路径覆盖的理解POJ1422

对于一个二分图,为什么最小路径覆盖 = N-最大匹配数,对于这个问题吧,可以这么理解理解,假设刚开始就一堆点,没有任何匹配,此时此刻,最大匹配数是0,那么你最小路径的覆盖就等于N,对吧,如果让其中一对点进行匹配,那么最大匹配数就为1,最小路径覆盖是多少,是不是等于N-1,依次类推,匹配数加一,覆盖数就会减去1,所以说最小路径覆盖数 = N-最大匹配数。 看到这个文章(写的很差哈),我想你应该会最大匹配数啥的了,要更好的理解最小覆盖路径是个什么玩意就上这一道基础题. POJ1422 //POJ1422 //最

zwynb_的博客 616

POJ1422 最小路径覆盖入门

题意:DAG求最小路径覆盖。 注意:二分匹配只试用于求DAG的最小路径覆盖, 有环就不行,具体可以理解证明。 对n个点进行拆点,分成左右两排点,对于边 建   。 然后 最小路径覆盖 == 总点数n - 最大匹配。  简单的证明: 每匹配一对就说明u和v在同一条路径上,拿路径数就少1。 #include #include #include #include using names

Nicolas 1083

poj1422最小路径覆盖

一个PXP的有向图中,路径覆盖就是在图中找一些路经,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联;(如果把这些路径中的每条路径从它的起始点走到它的终点,那么恰好可以经过图中的每个顶点一次且仅一次);如果不考虑图中存在回路,那么每条路径就是一个弱连通子集.

Shirley 974

POJ 1422 Air Raid(二分图匹配最小路径覆盖)

POJ 1422 Air Raid 题目链接 题意:给定一个有向图,在这个图上的某些点上放伞兵,可以使伞兵可以走到图上所有的点。且每个点只被一个伞兵走一次。问至少放多少伞兵 思路:二分图的最小路径覆盖,每个点拆成两个点,然后根据有向边连边,然后答案为n - 最大匹配数 代码: #include #include #include #include using

Remilia's 1017

POJ 1422 Air Raid 最小路径覆盖

POJ 1422 Air Raid 最小路径覆盖=结点数 - 最大匹配数 题意:下降的每一个伞兵,都可以通过十字路口的路径参观每一个十字路口,让下降的伞兵的数目最小,而且参观的十字路口尽可能的多。用二分图匹配求最小路径,求出二分图的最大匹配之后,就是伞兵一次可参观的路径,用总结点数减去最大匹配数,就是伞兵至少要下降这些人才能把所有的城镇都参观完。   #include&lt;stdl...

LMengi000的博客 265

poj1422 Air Raid 最小路径覆盖=顶点数-最大匹配数

这是一道最小路径覆盖的题目,做最小路径的题目会有一个拆点的操作出现,我这里的拆点操作顺带做好了,并不是很明显,poj3020就很清楚了; 给个poj3020的博客,拆点操作写的很详细 http://blog.youkuaiyun.com/lyy289065406/article/details/6647040,这里的拆点操作讲的很好的,大神嘛就是不一样 接下来给一个 链接 是这道题目也就是po

shaonianguai 1066
上一篇: poj 3352 双连通分量
下一篇: poj 2446 二分图最大匹配 匈牙利算法
HuanTongH
博客等级 码龄12年 7粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值