[洛谷P1640][SCOI2010]连续攻击游戏
题目大意:有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。每种装备最多只能使用一次,且只能使用其中一种属性。装备所使用的属性值必须从1开始连续。问最多能攻击多少次?
题解:每个装备从属性像编号连边,匈牙利算法,跑出匹配,若一个匹配不了就结束
卡点:无
C++ Code:
#include<cstdio>
using namespace std;
int n,idx,ans;
int head[10010],cnt;
struct Edge{
int to,nxt;
}e[1000010<<1];
int v[10010],res[1000010];
void add(int a,int b){
e[++cnt]=(Edge){b,head[a]};head[a]=cnt;
}
bool dfs(int x){
if (v[x]==idx)return false;
v[x]=idx;
for (int i=head[x];i;i=e[i].nxt){
int to=e[i].to;
if (!res[to]||dfs(res[to])){
res[to]=x;return true;
}
}
return false;
}
int main(){
scanf("%d",&n);
for (int i=1;i<=n;i++){
int x,y;
scanf("%d%d",&x,&y);
add(x,i),add(y,i);
}
for (int i=1;i<=10000;i++){
idx++;
if (dfs(i))ans++;else break;
}
printf("%d\n",ans);
return 0;
}
[洛谷P1640][SCOI2010]连续攻击游戏的更多相关文章
- 洛谷 P1640 [SCOI2010]连续攻击游戏 解题报告
P1640 [SCOI2010]连续攻击游戏 题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备 ...
- 洛谷——P1640 [SCOI2010]连续攻击游戏
P1640 [SCOI2010]连续攻击游戏 题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备 ...
- 洛谷P1640 [SCOI2010]连续攻击游戏(二分图)
题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备 ...
- 洛谷—— P1640 [SCOI2010]连续攻击游戏
https://www.luogu.org/problem/show?pid=1640 题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1, ...
- 洛谷 P1640 SCOI2010 连续攻击游戏 并查集
题目描述 lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备 ...
- 洛谷P1640 [SCOI2010]连续攻击游戏 题解
题目链接: https://www.luogu.org/problemnew/show/P1640 分析: 这道题用二分图来解决即可.应该可以作为网络流中的模板题来食用, 每一个武器有两个属性,但是只 ...
- 洛谷P1640 SCOI2010 连续攻击游戏 (并查集/匹配)
本题介绍两种做法: 1 并查集 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=1000005; 4 int ...
- 洛谷 P1640 [SCOI2010]连续攻击问题
洛谷 一句话题意: 每个武器有两种属性,每种武器只能选择一种属性,从属性1连续递增才算攻击,求最大连续攻击次数. 因为同学告诉我这是二分图最大匹配,自然就往那个方向去想. 那么怎么建图呢? 每个武器只 ...
- 洛谷 P1640 【连续攻击游戏】
question bank :luogu question Number :1640 title :Continuous attacking game link :https://www.luogu. ...
随机推荐
- jQuery(三)HTML
获得内容: text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的值 <html> < ...
- JavaSE 第二次学习随笔(四)
---------------------------------------------------------------------------------------------------- ...
- R语言学习笔记(五):零碎知识点(11-15)
11--which.min(), which.max()和which() which(x, arr.ind = FALSE, useNames = TRUE) x 是一个向量或者数组,可以是NA,但会 ...
- POJ-2421-Constructing Roads(最小生成树 普利姆)
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 26694 Accepted: 11720 Description The ...
- ISE中FPGA的实现流程
一.ISE实现的步骤 在综合之后,我们开始启动FPGA在ISE中的实现过程,整个过程包括以下几个步骤: 1.Translate ...
- Linux 之vi与vim
vi 三种模式: 『一般模式』: 光标 『编辑模式』:i,o,a,r 『指令列命令模式』「:/ ?」 例子: 1. 请在/tmp 这个目录下建立一个名为vitest 的目录: 2. 将/etc/man ...
- 使用maven插件生成grpc所需要的Java代码
1.首先需要编写自己需要的.proto文件,本文重点不在这里,.proto可以参考grpc官方例子 https://grpc.io/docs/quickstart/java.html 2.创建自己的J ...
- vTaskDelete(NULL)使用注意事项
在实际开发过程中,记录犯过的一个错误,如下 vTaskDelete(NULL); iccid_return_num = ; 错误原因分析,在任务删除之后(调用vTaskDelete(NULL)之后), ...
- JMeter Plugins Manager
JMeter插件管理器官网: https://jmeter-plugins.org/ 把jmeter-plugins-manager-0.16.jar放到C:\JMeter\apache-jmeter ...
- 【app.json】配置说明,不断更新中
app.json文件用来对微信小程序进行全局配置,决定页面文件的路径.窗口表现.设置网络超时时间.设置多 tab 等. 注意: 1) json配置中键名.键值必须使用双引号,不能使用单引号. 2) 以 ...