题目:https://www.luogu.org/problemnew/show/P5061

首先,“配合默契”就是连边的意思;

但发现答案不好统计,因为有连边的两个点可以分在一组,也可以不分在一组;

于是正难则反,因为没有连边的两个点一定不在一组,所以连成补图,二分图染色;

如果染色出现矛盾,就是无解——第三问的意思是什么?无解的时候应该也只是某几个连通块染色不合法,在其它连通块中也有配合默契的一对人可以分在同一组啊,为什么输出 m ?

然后背包一下,得到可以选择的人数,直接一个一个加到答案即可,差值最小就是人数最接近 n/2;

然后配合默契的一对人不能在一组的方案数也直接 n^2 统计在一个连通块没有连边但染色不同的点对即可;

虽然出题人的正解并不是二分图,但不太懂那个正解...

代码如下:

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
int const xn=,mod=1e9+;
int n,m,col[xn],f[xn],cnt,s[xn][],in[xn],tot;
bool sid[xn][xn],cant[xn];
int rd()
{
int ret=,f=; char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=; ch=getchar();}
while(ch>=''&&ch<='')ret=ret*+ch-'',ch=getchar();
return f?ret:-ret;
}
ll pw(ll a,int b)
{
ll ret=;
for(;b;b>>=,a=(a*a)%mod)if(b&)ret=(ret*a)%mod;
return ret;
}
int upt(int x){while(x>=mod)x-=mod; while(x<)x+=mod; return x;}
bool dfs(int x,int cr,int nw)
{
col[x]=cr; s[nw][cr]++; in[x]=nw;
for(int u=;u<=n;u++)
{
if(sid[x][u]||x==u)continue;
if(!col[u])dfs(u,-cr,nw);
else if(col[u]==col[x])return ;
}
return ;
}
int main()
{
n=rd(); m=rd();
for(int i=,x,y;i<=m;i++)x=rd(),y=rd(),sid[x][y]=sid[y][x]=;
bool flag=;
for(int i=;i<=n;i++)
if(!col[i])
{
bool fl=dfs(i,,++cnt);
if(!fl)flag=,cant[cnt]=;
}
if(flag){puts("-1"); printf("%d\n",m); return ;}//m?!
else
{
f[]=;
for(int i=;i<=cnt;i++)
for(int j=n;j>=;j--)//--!
{
if(j>=s[i][])f[j]|=f[j-s[i][]];
if(j>=s[i][])f[j]|=f[j-s[i][]];
}
int ans=,num;
for(int i=;i<=n/;i++)
{
if(!f[i]||!f[n-i])continue;//f[0]=1
ans++; num=i;
}
printf("%d %d\n",ans,upt(pw(,n-num)-pw(,num)));
}
int sum=;
for(int i=;i<=n;i++)
for(int j=i+;j<=n;j++)
if(in[i]==in[j]&&sid[i][j]&&(cant[in[i]]||col[i]!=col[j]))sum++;
printf("%d\n",sum);
return ;
}

洛谷 P5061 秘密任务 —— 二分图的更多相关文章

  1. 【洛谷 p3386】模板-二分图匹配(图论)

    题目:给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数. 解法:匈牙利算法.(以前我总是不记得......)实质上应该有贪心的思想,每次都尽量匹配,找到能和自己匹配的也尽量让它们匹配 ...

  2. 洛谷P1402 酒店之王(二分图)

    P1402 酒店之王 题目描述 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化.由于很多来住店的旅客有自己喜好的房间色调.阳光等,也有自己所爱的菜,但是该酒店只有p间房间,一天只 ...

  3. 洛谷P2891 Dining P1402 酒店之王【类二分图匹配】题解+代码

    洛谷P2891 Dining P1402 酒店之王[类二分图匹配]题解+代码 酒店之王 题目描述 XX酒店的老板想成为酒店之王,本着这种希望,第一步要将酒店变得人性化.由于很多来住店的旅客有自己喜好的 ...

  4. 洛谷P2756飞行员配对方案问题 P2055假期的宿舍【二分图匹配】题解+代码

    洛谷 P2756飞行员配对方案问题 P2055假期的宿舍[二分图匹配] 飞行员配对方案问题 题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架 ...

  5. 网络流24题 第三题 - CodeVS1904 洛谷2764 最小路径覆盖问题 有向无环图最小路径覆盖 最大流 二分图匹配 匈牙利算法

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - CodeVS1904 题目传送门 - 洛谷2764 题意概括 给出一个有向无环图,现在请你求一些路径,这些路径 ...

  6. 洛谷P2922 [USACO008DEC] 秘密消息Secret Message [Trie树]

    洛谷传送门,BZOJ传送门 秘密消息Secret Message Description     贝茜正在领导奶牛们逃跑.为了联络,奶牛们互相发送秘密信息.     信息是二进制的,共有M(1≤M≤5 ...

  7. 洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈)

    洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1311990 原题地址:洛谷P1155 双栈排序 ...

  8. 洛谷P1525 关押罪犯(并查集、二分图判定)

    本人蒟蒻,只能靠题解AC,看到大佬们的解题思路,%%%%%% https://www.luogu.org/problemnew/show/P1525 题目描述 S城现有两座监狱,一共关押着N名罪犯,编 ...

  9. LOJ 2743(洛谷 4365) 「九省联考 2018」秘密袭击——整体DP+插值思想

    题目:https://loj.ac/problem/2473 https://www.luogu.org/problemnew/show/P4365 参考:https://blog.csdn.net/ ...

随机推荐

  1. 想全面理解JWT?一文足矣!

    有篇关于JWT的文章,叫"JWT: The Complete Guide to JSON Web Tokens",写得全面细致.为了自己能更清晰理解并惠及更多人,我把它大致翻译了过 ...

  2. Python模拟登录12306

    #!/usr/bin/python # -*- coding: utf-8 -*- import re; import sys; import cookielib; import urllib; im ...

  3. virtualbox 4.3.10 ubuntu 12.04 mount share folder bug

    virtualbox 4.3.10 不能mount共享文件夹,这是一个bug,参考如下链接 https://www.virtualbox.org/ticket/12879 执行以下命令即可:sudo ...

  4. 2018年EMUI系统能力分论坛来啦

    为鼓励开发者创新,挖掘前沿创新能力的应用及服务,帮开发者打造爆款应用的同时丰富终端消费者的用户体验,由设立10亿激励基金耀星计划扶持的华为创新竞赛平台即将开启. 竞赛平台将滚动推出AI.HAG.AR. ...

  5. 018 nginx与第三模块整合[一致性哈希模块整合]

    nginx第三方模块官网:http://wiki.nginx.org/HttpUpstreamConsistentHash nginx第三方模块下载地址:https://github.com/repl ...

  6. python 基础 5.2 类的继承

    一. 类的继承 继承,顾名思议就知道是它的意思,举个例子说明,你现在有一个现有的A类,现在需要写一个B类,但是B类是A类的特殊版,我们就可以使用继承,B类继承A类时,B类会自动获得A类的所有属性和方法 ...

  7. Asp.Net Mvc: 浅析TempData机制

    一. Asp.Net Mvc中的TempData 在Asp.Net Mvc框架的ControllerBase中存在一个叫做TempData的Property,它的类型为TempDataDictiona ...

  8. zookeeper curator ( 实战一)

    目录 zookeeper 的伪集群搭建 写在前面 1.1. zookeeper 安装&配置 1.1.1. 创建数据目录和日志目录: 1.1.2. 创建myid文件 1.1.3. 创建和修改配置 ...

  9. CSS浏览器兼容性问题解决方法总结

    CSS浏览器兼容解决总结如下: 1. CSS中几种浏览器对不同关键字的支持,可进行浏览器兼容性重复定义 !important 可被FireFox和IE7识别 * 可被IE6.IE7识别 _ 可被IE6 ...

  10. PowerDesigner 125 导致 Word 2007文档内容无法选中以及点击鼠标没用