[bzoj1305][CQOI2009]dance跳舞

一次舞会有n个男孩和n个女孩。每首曲子开始时,所有男孩和女孩恰好配成n对跳交谊舞。每个男孩都不会和同一个女孩跳两首或更多舞曲。有一些男孩女孩相互喜欢,而其他相互不喜欢(不会“单向喜欢”)。每个男孩最多只愿意和k个不喜欢的女孩跳舞,而每个女孩也最多只愿意和k个不喜欢的男孩跳舞。给出每对男孩女孩是否相互喜欢的信息,舞会最多能有几首舞曲?

n<=50,k<=30

题解:很明显可以二分答案,然后用网络流来check(老套路)。建边问题,我们把每个男孩和女孩拆成它自己和不喜欢两个点,假设二分的答案是x,那么从S向男孩连x的边,从女孩向T连x的边。之后,从每个男孩向它的不喜欢的点连k的边,从每个女孩的不喜欢的点向她连k的边。最后处理男女孩关系,如果相互喜欢,那么两人连边;如果不喜欢,那么两人的不喜欢的点连边,边权都是1.

#include<iostream>
#include<cstring>
#include<cstdio>
#define S 0
#define T 201
#define INF 2000000000
using namespace std;
inline int read()
{int x = 0 , f = 1; char ch = getchar();while(ch < '0' || ch > '9'){ if(ch == '-') f = -1;  ch = getchar();}while(ch >= '0' && ch <= '9'){x = x * 10 + ch - '0';ch = getchar();}return x * f;
}int cnt,head[T+5],c[T+5],q[T+5],d[T+5],n,k,top;
struct edge{int to,next,w;}e[T*T*2+5];
char st[55][55];void ins(int f,int t,int w)
{e[++cnt]=(edge){t,head[f],w};head[f]=cnt;e[++cnt]=(edge){f,head[t],0};head[t]=cnt;
}int dfs(int x,int f)
{if(x==T)return f;int used=0;for(int&i=c[x];i;i=e[i].next)if(e[i].w&&d[e[i].to]==d[x]+1){int w=dfs(e[i].to,min(f-used,e[i].w));used+=w;e[i].w-=w;e[i^1].w+=w;if(used==f)return used;}return d[x]=-1,used;
}bool bfs()
{memset(d,0,sizeof(d));int i,j;for(d[q[top=i=1]=S]=1;i<=top;i++)for(j=c[q[i]]=head[q[i]];j;j=e[j].next)if(e[j].w&&!d[e[j].to])d[q[++top]=e[j].to]=d[q[i]]+1;return d[T];
}void build(int x)
{cnt=1;memset(head,0,sizeof(head));for(int i=1;i<=n;i++){ins(S,i,x);ins(i+2*n,T,x);ins(i,i+n,k);ins(i+3*n,i+2*n,k);}for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(st[i][j]=='Y')ins(i,j+2*n,1);elseins(i+n,j+3*n,1);
}int main()
{n=read();k=read();for(int i=1;i<=n;i++)scanf("%s",st[i]+1);int l=1,r=n,mid,ans=0;while(l<=r){mid=l+r>>1;build(mid);int sum=0;while(bfs())sum+=dfs(S,INF);if(sum==mid*n)ans=mid,l=mid+1;else r=mid-1;}printf("%d\n",ans);return 0;
}

 

转载于:https://www.cnblogs.com/FallDream/p/bzoj1305.html

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

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

相关文章

mysql主从架构搭建_mysql主从架构搭建

背景知识&#xff1a;主从这个架构可以实现数据备份&#xff0c;数据在多个服务器上分布等等&#xff0c;当然最主要的优点是可以实现负载均衡&#xff0c;将写操作交给主节点&#xff0c;读操作交给从节点。mysql官网有很多版本&#xff0c;例如Enterprise(企业版需要付费&…

Linux快速搭建FTP服务器

FTP 是File Transfer Protocol&#xff08;文件传输协议&#xff09;的英文简称&#xff0c;而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时&#xff0c;它也是一个应用程序&#xff08;Application&#xff09;。基于不同的操作系统有不同的FTP应用程序…

mysql 连接 监控_mysql监控优化(一)连接数和缓存

一、mysql的连接数MYSQL数据库安装完成后&#xff0c;默认最大连接数是100&#xff0c;一般流量稍微大一点的论坛或网站这个连接数是远远不够的&#xff0c;连接数少的话&#xff0c;在大并发下连接数会不够用&#xff0c;会有很多线程在等待其他连接释放&#xff0c;就可能会导…

集合框架(一) ----------Map集合遍历的方法

import java.util.*; /** * Map集合遍历的方法 * author Administrator * */public class Test2 { public static void main(String[] args) { Map<String,String> mapnew HashMap<String,String>(); /*Java 提供两种不同的类型&#xff1a; * 引用类型和原始类型&…

mysql事务总结_MySQL数据库和相关事务总结

以下的文章主要向大家描述的是MySQL数据库和相关事务&#xff0c;在实际操作中有很多人都认为MySQL数据库对事务处理是不支持的&#xff0c;其实&#xff0c;只要MySQL数据库版本支持BDB或是InnoDB表类型&#xff0c;那么你的MySQL就具有事务处理的能力。这里面&#xff0c;又以…

please reinstall the mysql distribution_php安装扩展mysqli的实现步骤及报错解决办法

php安装扩展mysqli的实现步骤及报错解决办法terminal#cd php-5.3.6/ext/mysqli#/usr/local/webserver/php/bin/phpize#./configure --with-php-config/usr/local/webserver/php/bin/php-config#make#make instal报错&#xff1a;checking for MySQLi support... yeschecking wh…

day35-hibernate映射 03-Hibernate持久态对象自动更新数据库

持久态对象一个非常重要的能力:自动更新数据库。 package cn.itcast.hibernate3.demo1;import static org.junit.Assert.*;import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test;import cn.itcast.utils.HibernateUtils;/*** Hibernate的测…

mysql视图中调用函数写法_从视图中调用函数

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":5,"count":5}]},"card":[{"des":"阿里云函数计算(Function Compute)是一个事件…

微信 小程序 常见错误

VM148:2 pages/aaa/aaa.jsonExpecting STRING,NUMBER,NULL,TRUE,FALSE,{,[, got EOF 意思是 子组件的 json 文件不能为空 至少填一个{} appservice:18 pages/home/home 出现脚本错误或者未正确调用 Page() 原因是没有在相应页面的.js文件中调用Page&#xff08;&#xff09;&am…

mysql 角色管理_MySQL 8 用户和角色管理入门

MySQL 8.0 正式版目前已发布&#xff0c;MySQL 8.0 增加了很多新的功能&#xff0c;具体可参考「MySQL 8.0 正式版 8.0.11 发布&#xff01;」一文。MySQL 8.0 在用户管理方面增加了角色管理&#xff0c;默认的密码加密方式也做了调整&#xff0c;由之前的 SHA1 改为了 SHA2。同…

go 删除 文件 某行_Go实战--用echo嵌入静态资源

生命不止&#xff0c;继续 go go go !!!使用 Go 开发应用的时候&#xff0c;有时会遇到需要读取静态资源的情况。比如开发 Web 应用&#xff0c;程序需要加载模板文件生成输出的 HTML。在程序部署的时候&#xff0c;除了发布应用可执行文件外&#xff0c;还需要发布依赖的静态资…

python 运维自动化之路 Day2

学习内容&#xff1a; 1、模块初识 2、Pyc是什么 3、Python数据类型 4、数据运算 5、bytes数据类型 6、列表和元组的使用 7、字符串常用操作 8、字典的使用 1、模块初识 如果用 python 解释器来编程&#xff0c;从 Python 解释器退出再进入&#xff0c;那么你定义的所有的方法和…

mysql多源复制 知乎_MySQL多主一从(多源复制)同步配置

&#xfeff;>多主一从&#xff0c;也称为多源复制&#xff0c;数据流向。这是小编的服务器部署的一次小尝试&#xff0c;实际工作中还没遇到过形式主库1 -> 从库s主库2 -> 从库s主库n -> 从库s应用场景数据汇总&#xff0c;可将多个主数据库同步汇总到一个从数据库…

关于算法模板和规范的说明

这里记录的算法模板和规范仅供个人使用&#xff0c;可能会存在BUG。由于使用本博客模板导致的BUG及其负面影响&#xff0c;本人概不负责。转载于:https://www.cnblogs.com/hzs2000/p/6682699.html

aMDcpu不支持mysql_Oracle 11.2.0.1在AMD CPU 64位硬件,32位操作系统下的BUG 8670579

通过查询meatlink原因是在ORACLE11.2.0.1 AMD 64位CPU下安装了32位的操作系统&#xff0c;触发了bug 8670579&#xff0c;那要解决该问题只需打上86705bug 8670579硬件信息&#xff1a;CPU:AMD X6在执行dbca的时候也报错如下&#xff1a;[Oracleyorkshi ~]$ dbca## An unexpect…

《网络攻防》第6周作业

20169310 2016-2017-2 《网络攻防实践》第6周学习总结 教材学习内容总结 本周主要学习了《网络攻防---技术与实践》第5、6章的内容&#xff0c;主要学习了 TCP/IP网络协议攻击 和 网络安全防范技术 TCP/IP网络协议攻击概述 网络安全的属性&#xff1a;机密性 、完整性 、可用性…

python读ad域日志_Python实现AD域认证

Python 通过ldap进行ad域账号的校验。首先需要安装python-ldap的模块 http://www.python-ldap.org/。 在这里用的是windows系统&#xff0c;当然比较容易&#xff0c;下载地址 http://pypi.python.org/pypi/python-ldap/。安装后在python 的交互环境里输入import ldap 如果没有…

nios ii小实验——第一个demo指导书

1.新建工程&#xff1a;打开Quartus II 13.0&#xff0c;点击File->New Project Wizard&#xff0c;点击Next后可以看到如图2所示的对话框&#xff0c;选择工程路径给工程命名&#xff08;注意&#xff1a;工程名必须和顶层模块名一致&#xff0c;否则编译会报错&#xff09…

js动态时间(转)

html代码 <span id"timeShow" show_cur_times()></span>js代码 $(function(){//设置1秒调用一次show_cur_times函数setInterval("show_cur_times()",100); });function show_cur_times(){ //获取当前日期var date_time new Date();//定义星期…

shell设计精髓_交互设计精髓

了解数字产品的设计过程工业设计师 Victor Papanek 认为&#xff0c;设计是“为赋予有意义的秩序&#xff0c;作出有意识或直觉的努力”。“All men are designers. All that we do, almost all the time is design, for design is basic to all human activity. The planning …