poj2771
题解:
二分图最大独立及
每两个不能选的渐变
输出n+m-最大匹配
代码:
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=;
int ne[N*N],num,fi[N],x,T,zz[N*N],n,m,f[N],match[N],a[N],b[N],cnt1,cnt2;
char s1[N][N],s[N],s2[N][N],m1[N][N],m2[N][N];
void jb(int x,int y)
{
ne[++num]=fi[x];
fi[x]=num;
zz[num]=y;
}
int dfs(int x)
{
for (int i=fi[x];i;i=ne[i])
if (!f[zz[i]])
{
f[zz[i]]=;
if (!match[zz[i]]||dfs(match[zz[i]]))
{
match[zz[i]]=x;
return ;
}
}
return ;
}
int pd(char s1[],char s2[])
{
if (strlen(s1)!=strlen(s2))return ;
for (int i=;s1[i];i++)
if (s1[i]!=s2[i])return ;
return ;
}
int main()
{
scanf("%d",&T);
while (T--)
{
memset(match,,sizeof match);
memset(fi,,sizeof fi);
num=cnt1=cnt2=;
scanf("%d",&n);
for (int i=;i<=n;i++)
{
scanf("%d%s",&x,&s);
if (s[]=='F')
{
a[++cnt1]=x;
scanf("%s%s",&m1[cnt1],&s1[cnt1]);
}
else
{
b[++cnt2]=x;
scanf("%s%s",&m2[cnt2],s2[cnt2]);
}
}
for (int i=;i<=cnt1;i++)
for (int j=;j<=cnt2;j++)
if (abs(a[i]-b[j])<=&&pd(m1[i],m2[j])&&!pd(s1[i],s2[j]))jb(i,j);
int ans=;
for (int i=;i<=n;i++)
{
memset(f,,sizeof f);
ans+=dfs(i);
}
printf("%d\n",n+m-ans);
}
}
poj2771的更多相关文章
- POJ2771 Guardian of Decency
Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 5513 Accepted: 2319 Description Frank ...
- POJ2771最大独立集元素个数
题意: 女生和男生之间只要满足四个条件中的一个,那么两个人就不会在一起!然后给出一些男生和女生,问最多多少人一起做活动彼此不会产生暧昧关系. 思路: 这样的问题还是比较裸的问法 ...
- HDU1068/POJ1466_Girls and Boys(二分图/最大独立集=N-最大匹配)
解题报告 http://blog.csdn.net/juncoder/article/details/38160591 题目传送门(POJ) 题目传送门(HDU) 题意: 求满足条件的最大集合:集合内 ...
随机推荐
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) B. The Meeting Place Cannot Be Changed
地址:http://codeforces.com/contest/782/problem/B 题目: B. The Meeting Place Cannot Be Changed time limit ...
- Phoenix编译支持CDH
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl/p/6898227.html 转载请注明出处 最近由于想调研下低延迟的数据查询框架,那么基于SQL on Hba ...
- oracle中length、lengthb、substr、substrb用法小结
我记得我曾经在开发form的时候犯过这样一个错误,对于form中的某个字段,对应于数据库中某张表的字段,假设在数据库中这个字段一般也就用到20个汉字的长度,后来我在开发form的时候,设置item类型 ...
- 验证url格式
//验证url var url=$("#address").val(); var regUrl = /^http[s]{0,1}:\/\/.+$/ ; if(url.match(r ...
- 摄像头PIN脚功能作用
摄像头PIN脚功能作用,Camera硬件系统分析 9 f E+ E2 b N. j4 M2 U- a. q9 A) T# c& O& C% x+ l5 l! q ...
- 在Pycharm中配置Github
Pycharm是当前进行python开发,尤其是Django开发最好的IDE.GitHub是程序员的圣地,几乎人人都在用. 本文假设你对pycharm和github都有一定的了解,并且希望在pycha ...
- 20145310 《Java程序设计》第4周学习总结
20145310 <Java程序设计>第4周学习总结 教材学习内容总结 本周主要进行第五章和第六章的学习. 第六章 继承与多态 子类(Inherit)继承父类,避免重复的行为定义,不过并非 ...
- 比较字符串CompareTo的用法及注意
CompareTo用法 static void Main(string[] args) { string str = "1"; ...
- 分析Ubuntu18.04启动后的各种任务
jello@jello:~$ ps -A PID TTY TIME CMD 1 ? 00:00:02 systemd 由idle进程(进程号为0的进程,那 ...
- TCP_DB_中间件_数据打包格式
ZC: 这里约定的是,C和S之间 传输的TCP数据包的格式 1.TCP数据包 打包格式 1.1.TCP包长度(int32) + TCP包序号(int32) + TCP包类型(int32) + TCP包 ...