HDU3829_Cat VS Dog
题目是这样的,给定一些人喜欢某只猫或者狗,讨厌某只猫或者狗。求最多能够同时满足多少人的愿望?
题目很有意思。建模后就很简单了。
对于同一只猫或者狗,如果有一个讨厌,另一个人喜欢,那么这两个连一条边。最终,最大独立集数等于最大匹配数就可以了。。
Orz。
召唤代码君:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#define maxn 505
using namespace std; vector<int> likec[maxn],disc[maxn],liked[maxn],disd[maxn];
vector<int> v[maxn];
int n,m,p,ans,t1,t2;
int f[maxn],tag[maxn];
char s1[maxn],s2[maxn]; void init()
{
ans=0;
for (int i=1; i<=p; i++) v[i].clear(),f[i]=0,tag[i]=0;
for (int i=1; i<=n; i++) likec[i].clear(),disc[i].clear();
for (int i=1; i<=m; i++) liked[i].clear(),disd[i].clear();
} int num(char S[])
{
int cur=0;
for (int i=0; S[i]; i++) cur=cur*10+S[i]-'0';
return cur;
} int dfs(int cur,int T)
{
if (tag[cur]==T) return false;
else tag[cur]=T;
for (unsigned i=0; i<v[cur].size(); i++)
{
if (tag[v[cur][i]]==T) continue;
if (f[v[cur][i]]==0 || dfs(f[v[cur][i]],T))
{
f[v[cur][i]]=cur;
f[cur]=v[cur][i];
return true;
}
}
return false;
} int main()
{
while (scanf("%d%d%d",&n,&m,&p)!=EOF)
{
init();
for (int i=1; i<=p; i++)
{
scanf("%s%s",s1,s2);
t1=num(s1+1),t2=num(s2+1);
if (s1[0]=='C') likec[t1].push_back(i);
else liked[t1].push_back(i);
if (s2[0]=='C') disc[t2].push_back(i);
else disd[t2].push_back(i);
}
for (int i=1; i<=n; i++)
for (unsigned x1=0; x1<likec[i].size(); x1++)
for (unsigned x2=0; x2<disc[i].size(); x2++)
{
v[likec[i][x1]].push_back(disc[i][x2]);
v[disc[i][x2]].push_back(likec[i][x1]);
}
for (int i=1; i<=m; i++)
for (unsigned x1=0; x1<liked[i].size(); x1++)
for (unsigned x2=0; x2<disd[i].size(); x2++)
{
v[liked[i][x1]].push_back(disd[i][x2]);
v[disd[i][x2]].push_back(liked[i][x1]);
}
for (int i=1; i<=p; i++)
{
if (f[i]!=0) continue;
if (dfs(i,i)) ans++;
}
printf("%d\n",p-ans);
}
return 0;
}
HDU3829_Cat VS Dog的更多相关文章
- [ZigBee] 12、ZigBee之看门狗定时器——饿了就咬人的GOOD DOG
引言:硬件中的看门狗,不是门卫的意思,而是一只很凶的狗!如果你不按时喂它,它就会让系统重启!这反而是我们想要的功能~ 1.看门狗概述 看门狗定时器(WDT,Watch Dog Timer)是单片机的一 ...
- 斑点检测(LoG,DoG)(下)
斑点检测(LoG,DoG)(下) LoG, DoG, 尺度归一化 上篇文章斑点检测(LoG,DoG)(上)介绍了基于二阶导数过零点的边缘检测方法,现在我们要探讨的是斑点检测.在边缘检测中,寻找的是二阶 ...
- 斑点检测(LoG,DoG) [上]
斑点检测(LoG,DoG) [上] 维基百科,LoG,DoG,DoH 在计算机视觉中,斑点检测是指在数字图像中找出和周围区域特性不同的区域,这些特性包括光照或颜色等.一般图像中斑点区域的像素特性相似甚 ...
- ural 1246. Tethered Dog
1246. Tethered Dog Time limit: 1.0 secondMemory limit: 64 MB A dog is tethered to a pole with a rope ...
- Cat VS Dog
Cat VS Dog Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others)Total ...
- DoG 、Laplacian、图像金字塔详解
DoG(Difference of Gaussian) DoG (Difference of Gaussian)是灰度图像增强和角点检测的方法,其做法较简单,证明较复杂,具体讲解如下: Differe ...
- HDU 3289 Cat VS Dog (二分匹配 求 最大独立集)
题意:每个人有喜欢的猫和不喜欢的狗.留下他喜欢的猫他就高心,否则不高心.问最后最多有几个人高心. 思路:二分图求最大匹配 #include<cstdio> #include<cstr ...
- 编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义其子类Fish 和Dog,定义主类E,在其main方法中分别创建其对象并测试对象的特性。
package animal; public class Animal { //成员属性 private String kind; public String getKind() { return k ...
- sjtu1586 Dog
Description 隔壁村的阿黑的Dog没有跑, 但Dog已经15岁了, 相当于人类达到了79岁. 为了防止Dog患上犬类认知障碍 (Canine cognitive dysfunction, C ...
随机推荐
- SSIS 变量、参数和表达式
动态包对象包括变量,参数和表达式.变量主要为包提供一种对象之间相互通信的方法,变量的值是可以更新的.而参数不同于变量,参数的值在包中是不能修改的,只能通过外部来设置参数.表达式可以引用变量.参数.常量 ...
- Jenkins + Gitlab + Ansible--playbook 代码上线流程(文末有免费视频)
jenkins 构建是支持 git 选择分支 安装 Git Parameter 插件在系统管理中的插件管理 然后点击选插件,在右上角输入 Git Parameter,找到 Git Paramete ...
- 动态加载与插件系统的初步实现(一):反射与MEF解决方案
涉及内容: 反射与MEF解决方案 AppDomain卸载与代理 WinForm.WcfRestService示 PRRT1: 反射实现 插件系统的基本目的是实现宿主与组件的隔离,核心是作为接驳约定的接 ...
- django套用模板404报错小结
首先,我的项目名是MyProject.每次当我运行,然后测试页面的时候,总是弹出 其实根据stackoverflow上某大佬的解释大意就是在setting.py和urls.py的匹配上出了问题 此处放 ...
- 【日常训练】Hockey(CodeForces-96C)
题意与分析 对于这题题意的理解比较重要,因为这是一条傻逼题: 大小写保持不变 原串中出现的非法字符串里的每一个字符都要替换 Lucky Letter越多越好 这样一种情况下,算法其实特别简单.我傻逼在 ...
- 【赛后补题】Lucky Probability(CodeForces 110D)
题意 给定两个\(P,Q\)的正整数区间(\(P,Q\)都符合\([L,R]\)这个区间,并且都\(\le 10^9\)),分别从其中随机选出一个数,选出的两个数作为一个新区间的左右端点.要求新区间内 ...
- Codewars笔记
说明:以下内容均来自codewars网站,列举的试题我都做过且通过,并以此记录来学习python. 1,需求:将大小写互相转换,非字母的字符保留 我的代码: def to_alternating_ ...
- Jmeter接口测试(六)关联&正则匹配
问题思考 接口测试过程中经常需要接口之间关联调用,比如获取上一个接口的返回值,作为另一个接口的请求参数,那么该如何从处理呢? 这里需要使用 Jmeter 的正则表达式提取器,通过对响应的数据来提取指定 ...
- JAVA图书管理系统汇总共27个[转]
java图书馆管理系统[优秀毕业设计论文+源码]http://down.51cto.com/data/68350java+sql server图书管理系统 http://down.51cto.com/ ...
- Your requirements could not be resolved to an installable set of packages
使用composer下载laravel安装程序时(composer global require "laravel/installer"),报截图中的错误. 解决: 根据提示可知, ...