BZOJ 1854: [Scoi2010]游戏( 二分图最大匹配 )

匈牙利算法..从1~10000依次找增广路, 找不到就停止, 输出答案. 

----------------------------------------------------------------------------

#include<bits/stdc++.h>
using namespace std;
const int MAXL = 10009, MAXR = 1000009;
struct edge {
int to;
edge* next;
} E[MAXR << 1], *pt = E, *head[MAXL];
inline void addedge(int u, int v) {
pt->to = v; pt->next = head[u];
head[u] = pt++;
}
int match[MAXR], vis[MAXR], N, C;
bool dfs(int x) {
for(edge* e = head[x]; e; e = e->next) if(vis[e->to] != C) {
vis[e->to] = C;
if(!~match[e->to] || dfs(match[e->to])) {
   match[e->to] = x;
return true;
}
}
return false;
}
int main() {
memset(match, -1, sizeof match);
memset(vis, -1, sizeof vis);
scanf("%d", &N);
for(int i = 0; i < N; i++) {
int a, b; scanf("%d%d", &a, &b); a--; b--;
addedge(a, i); addedge(b, i);
}
int ans = 0;
for(C = 0; C < 10000; C++) {
if(dfs(C)) ans++;
else break;
}
printf("%d\n", ans);
return 0;
}

---------------------------------------------------------------------------- 

1854: [Scoi2010]游戏

Time Limit: 5 Sec  Memory Limit: 162 MB
Submit: 3022  Solved: 1100
[Submit][Status][Discuss]

Description

lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。当他使用某种装备时,他只能使用该装备的某一个属性。并且每种装备最多只能使用一次。 游戏进行到最后,lxhgww遇到了终极boss,这个终极boss很奇怪,攻击他的装备所使用的属性值必须从1开始连续递增地攻击,才能对boss产生伤害。也就是说一开始的时候,lxhgww只能使用某个属性值为1的装备攻击boss,然后只能使用某个属性值为2的装备攻击boss,然后只能使用某个属性值为3的装备攻击boss……以此类推。 现在lxhgww想知道他最多能连续攻击boss多少次?

Input

输入的第一行是一个整数N,表示lxhgww拥有N种装备 接下来N行,是对这N种装备的描述,每行2个数字,表示第i种装备的2个属性值

Output

输出一行,包括1个数字,表示lxhgww最多能连续攻击的次数。

Sample Input

3
1 2
3 2
4 5

Sample Output

2

HINT

【数据范围】
对于30%的数据,保证N < =1000
对于100%的数据,保证N < =1000000

Source

Day1

 

转载于:https://www.cnblogs.com/JSZX11556/p/4779498.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397552.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux adduser mysql,linux独享初始配置方法(ftp、apache、mysql)

在此我们对您购买的linux独享服务器的配置方法进行简单说明&#xff0c;内容涉及ftp、apache、mysql相关配置&#xff0c;希望给您使用中带来方便。该文章为指导性说明。☆独立服务器linux系统ftp帐户的设置方法&#xff1a;1、首先服务器端已经安装vsftp。2、您可以直接登陆服…

Android下文件的压缩和解压(Zip格式)

Zip文件结构 ZIP文件结构如下图所示&#xff0c; File Entry表示一个文件实体,一个压缩文件中有多个文件实体。 文件实体由一个头部和文件数据组&#xff0c;Central Directory由多个File header组成&#xff0c;每个File header都保存一个文件实体的偏移&#xff0c;文件最后由…

快速理解和使用 ES7 await/async

await/async 是 ES7 最重要特性之一&#xff0c;它是目前为止 JS 最佳的异步解决方案了。虽然没有在 ES2016 中录入&#xff0c;但很快就到来&#xff0c;目前已经在 ES-Next Stage 4 阶段。 直接上例子&#xff0c;比如我们需要按顺序获取&#xff1a;产品数据>用户数据>…

jdeveloper优化:

D:\jdevstudio10133\jdev\bin\jdev.conf末尾加上下面的AddVMOption -Dsun.java2d.noddrawtrueAddVMOption -Dsun.java2d.ddoffscreenfalse 转载于:https://www.cnblogs.com/sprinng/p/4780112.html

linux make java版本,告诉make是否在Windows或Linux上运行

更新请阅读这个类似但更好的答案&#xff1a;https&#xff1a;//stackoverflow.com/a/14777895/938111make (和 gcc )可以使用Cygwin或MinGW在MS-Windows上轻松安装 .正如ldigas所说&#xff0c; make 可以使用 UNAME:$(shell uname) 检测平台(命令 uname 也由Cygwin或MinGW安…

MPI多机器实现并行计算

最近使用一个系统的分布式版本搭建测试环境&#xff0c;该系统是基于MPI实现的并行计算&#xff0c;MPI是传统基于msg的系统&#xff0c;这个框架非常灵活&#xff0c;对程序的结构没有太多约束&#xff0c;高效实用简单&#xff0c;下面是MPI在多台机器上实现并行计算的过程。…

Jenkins_获取源码编译并启动服务(二)

一、创建Maven项目二、设置SVN信息三、设置构建触发器四、设置Maven命令五、设置构建后发邮件信息&#xff08;参考文章一&#xff09;六、设置构建后拷贝文件到远程机器并执行命令来自为知笔记(Wiz)

php 判断页面加载完,所有ajax执行完且页面加载完判断

jquery ajax&load 方法导致 js效果不显示或显示后由于加载后ajax 重新布局页面导致效果错误。解决思路&#xff1a;需要在ajax get post 或 load 等执行完后再去执行方法就不会由于他们没执行完导致的最终错误。那么首先看load 方法定义&#xff1a;jQuery ajax - load() 方…

正确理解ThreadLocal

想必很多朋友对 ThreadLocal并不陌生&#xff0c;今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先&#xff0c;本文先谈一下对ThreadLocal的理 解&#xff0c;然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方&#xff0c;最后给出了两个应用场…

2018.7.10 个人博客文章=利用ORM创建分类和ORM的内置函数

昨天的注册收尾工作 其实就差了和MySql联系起来的部分&#xff0c;这部分很简单&#xff0c;首先要做的就是保存用户通过from传送过来的头像文件&#xff1a; """ 保存头像文件 """ file request.FILES.get(avatar) file_path os.path.join(st…

python 列表与元组的操作简介

上一篇&#xff1a;Python 序列通用操作介绍 列表 列表是可变的(mutable)——可以改变列表的内容&#xff0c;这不同于字符串和元组&#xff0c;字符串和元组都是不可变的。接下来讨论一下列表所提供的方法。 list函数 可以使用list函数来创建列表&#xff1a; list(Hello) [H,…

mfc嵌入matlab绘图窗口,将matlab的图嵌入MFC

【实例简介】VS调用matlab画图模块编译成的动态链接库&#xff0c;并在MFC显示。【实例截图】【核心代码】3b0582a3-4ea8-4a61-ba33-e448be563b88└── 将matlab的图嵌入MFC├── matlab_2010b与VS2008_混合编程的实现.pdf├── TestWithData│ ├── Debug│ │ ├─…

python multiprocessing 和tcp

#用类方法 服务端from socket import *from multiprocessing import Processimport osclass Myprocess(Process): def __init__(self, conn): self.conn conn super().__init__() def run(self): conn self.conn start True whil…

matlab 画三维花瓶,精美花瓶建模教程

1、首先&#xff0c;草图单位为mm&#xff0c;进入前视图绘制如图草图&#xff0c;花瓶的基本形状轮廓2、然后对草图进行旋转3、旋转出曲面后&#xff0c;在顶部边线新建一个基准面4、继续在前视图绘制草图&#xff0c;如图绘制一弧线5、然后进行旋转6、可以得到图示的两个曲面…

PKI系统相关知识点介绍

公钥基础设施&#xff08;Public Key Infrastructure&#xff0c;简称PKI&#xff09;是目前网络安全建设的基础与核心&#xff0c;是电子商务安全实施的基本保障&#xff0c;因此&#xff0c;对PKI技术的研究和开发成为目前信息安全领域的热点。本文对PKI技术进行了全面的分析…

android 打印java堆栈,Android打印堆栈

java打印堆栈方法一&#xff1a;异常对象打印堆栈Exception e new Exception("this is a log");e.printStackTrace();方法二&#xff1a;Log打印获取异常的堆栈并打印Log.e(“dump_test”,Log.getStackTraceString(new Throwable()));C\C打印堆栈方法一&#xff1a;…

实际算法项目工程上手日志C/C++

#pragma once 为了保证头文件只被编译一次&#xff0c;通常放在头文件的顶部 #define IN #define OUT #define INOUT 这个只在逻辑上起作用&#xff0c; IN 表示输入参数&#xff0c;指针指向的值不会修改&#xff1b; OUT 表示输出参数&#xff0c;指针指向的值会修改&a…

Arduino 控制超声波测距模块

一.实物图 二.例子代码 用到数字2 和3 引脚,还有两个就是vcc GND两个阴脚,用模块连线比较简单 转载于:https://www.cnblogs.com/caoguo/p/4785700.html

Linux安装source-code-pro字体

2019独角兽企业重金招聘Python工程师标准>>> 1.下载source-code-pro字体 从GitHub下载 https://github.com/adobe-fonts/source-code-pro/releases 2.解压文件&#xff0c;将OTF格式的文件夹重新命名一下&#xff0c;这里我命名为source-code-pro&#xff0c;然后将…

dft对称性 matlab实验,数字信号处理实验指导书(审)

(0???2?)上对X(ej?)均匀采样得到?X(k)?X(ej?)??2?k/N??n???x(n)e?j2?kn/N 0?k?N?1可以看到X(k)也是频域上的有限长序列&#xff0c;长度为N。序列X(k)称为序列x(n)的N点DFT。N称为DFT变换区间长度。 通常表示WN?e?j2?/N可将定义式表示为?X(k)??x(n)…