BZOJ 1305 [CQOI2009]dance跳舞

这是一道最大流的模版题

一定要记住不能开出来重点呀

#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN=205;
const int MAXM=6005;
const int inf=0x3f3f3f3f;
inline int read(){int x=0,f=1,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;
}
inline int cread(){int ch=getchar();while(ch<'A'||ch>'Z') ch=getchar();return ch;
}
int nxt[MAXM],to[MAXM],cap[MAXM],h[MAXN],cnt;
inline void add(int x,int y,int k){nxt[cnt]=h[x];to[cnt]=y;cap[cnt]=k;h[x]=cnt++;nxt[cnt]=h[y];to[cnt]=x;cap[cnt]=0;h[y]=cnt++;
}
int dep[MAXN];
queue<int> q;
inline bool bfs(int s,int t){// cout<<s<<"\t"<<t<<endl;while(!q.empty()) q.pop();memset(dep,0,sizeof(dep));dep[s]=1;q.push(s);while(!q.empty()){int e=q.front();q.pop();for(int i=h[e];i!=-1;i=nxt[i])if(cap[i]&&dep[to[i]]==0)dep[to[i]]=dep[e]+1,q.push(to[i]);}return dep[t]?1:0;
}
int T;
inline int dfs(int x,int k){if(x==T) return k;int res=0;for(int i=h[x];i!=-1&&k;i=nxt[i])if(cap[i]&&dep[to[i]]==dep[x]+1){int d=dfs(to[i],min(k,cap[i]));if(d) cap[i]-=d,cap[i^1]+=d,res+=d,k-=d;}if(!res) dep[x]=0;return res;
}
int n,k;
inline int dinic(){int res=0;T=(n+1)<<2;while(bfs(0,T)) res+=dfs(0,inf);return res;
}
int map[55][55];
inline bool ok(int x){memset(h,-1,sizeof(h));cnt=0;for(int i=1;i<=n;++i)for(int j=1;j<=n;++j){if(map[i][j]) add(i<<1,(j+n)<<1,1);else add(i<<1|1,(j+n)<<1|1,1);}for(int i=1;i<=n;++i) add(0,i<<1,x),add((i+n)<<1,(n+1)<<2,x);for(int i=1;i<=n;++i) add(i<<1,i<<1|1,k),add((i+n)<<1|1,(i+n)<<1,k);return (dinic()>=x*n);
}
int main(){n=read(),k=read();for(int i=1;i<=n;++i)for(int j=1;j<=n;++j){int c=cread();if(c=='Y') map[i][j]=1;}int l=0,r=n;while(l<r){// cout<<l<<"\t"<<r<<endl;int mid=(l+r)>>1;if(ok(mid+1)) l=mid+1;else r=mid;}printf("%d\n",l);return 0;
}

  

转载于:https://www.cnblogs.com/gcyyzf/p/10058433.html

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

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

相关文章

项目本地部署

1.将数据库导出&#xff0c;并导入到本地 exp dgpdg/pass192.168.1.33/ORCL fileD:\gd_base.dmp logD:\gd_base.log&#xff08;不要加fully&#xff0c;会把整个数据库下所有用户的表倒下来&#xff09; imp dgpdg/pass127.0.0.1/orcl file"D:\gd_base.dmp" log&quo…

Java方法中的参数太多,第7部分:可变状态

在我的系列文章的第七篇中&#xff0c;有关解决Java方法或构造函数中过多参数的问题 &#xff0c;我着眼于使用状态来减少传递参数的需要。 我等到本系列的第七篇文章来解决这个问题的原因之一是&#xff0c;它是我最不喜欢的减少传递给方法和构造函数的参数的方法之一。 也就是…

命名空间不能直接包含字段或方法之类的成员是什么意思_Python 学习笔记之类与实例...

Python 学习笔记之类与实例一、定义1.1、定义类 (class) 封装一组相关数据&#xff0c;使之成为一个整体&#xff0c;并使用一种方法持续展示和维护。这有点像把零件组装成整车提供给用户&#xff0c;无须了解汽车的内部结构和工作原理&#xff0c;只要知道方向盘&#xff0c;刹…

跨平台开发框架 Lynx 初探

跨平台开发是目前开发较热门的方向&#xff0c;React Native 在这方面取得了很大的成功&#xff0c;同时 Flutter 也获得了非常多的关注。React Native 采用 Web 框架开发并使用 Native UI 进行渲染&#xff0c;很大程度上降低了 Native 开发的门槛并且提高迭代的效率&#xff…

linux ubuntu 关于vim得一些基本命令

&#xff11;.vim显示行号 :set number 2. 快捷键 J 向下 K 往上 H 向左 L 向右 ctrlshiftT  打开新窗口 ctrlPage Down 所有vim窗口向下切换 ctrlPage Up 所有vim窗口向上切换 &#xff13;. 复制vim打开的内容 yy 复制光标所在行 2yy 复制光标所在行往下的两行 ....…

ajax包含mysql吗_php 实例ajax与mysql怎么只查询出一条数据?

http://www.runoob.com/php/php...使用这个实例操作之后为什么只显示一条数据&#xff0c;如何让符合条件的数据全部显示出来如&#xff0c;我使用的查询字段是yesterday_str&#xff0c;查询2017-04-18这个数据怎么样才能把2017-04-18包含这个的全部数据提取出来&#xff1f;p…

使用Servlet 3.0,Redis / Jedis和CDI的简单CRUD –第2部分

在本文中&#xff0c;我们将重点介绍CDI和Servlet 3.0。 您可以在此处看到第1部分。 让我们从CDI开始。 当我开始撰写源自该系列的文章时&#xff0c;我并没有考虑撰写CDI。 真诚地说&#xff0c;我以前从未使用过。 这篇文章的想法是使用jedis和servlet创建一个对象。 但是&a…

Safari支持Service Worker,PWA还有多久爆发?

作者 | 彭星 编辑 | 尾尾 在之前的文章《PWA 将带来新一轮大前端技术洗牌&#xff1f;》中&#xff0c;我们回顾了 Web 在移动时代遭遇的两大枷锁&#xff0c;并就PWA是否能真正弥补 Web 劣势进行了分析&#xff0c;同时&#xff0c;提出“根据当前的发展趋势&#xff0c;PWA…

安装python3 及virtual与virtualenvwrapper

安装python3 下载python源码包 网址&#xff1a;https://www.python.org/downloads/release/python-362/ 下载地址&#xff1a;https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz 安装python前的库环境&#xff0c;非常重要 yum install gcc patch libffi-devel py…

响应式设计与前端工程性

一&#xff1a;响应式的几个基本知识 字体选择 有衬线和无衬线&#xff0c;那种字体看自己的美学意识和考虑 透视比例与体验一致性保证&#xff08;人眼的位置&#xff09; 行高&#xff0c;字体大小&#xff0c;间距&#xff0c;要根据整个展示范围的透视比例合理的去规划pc 离…

aspx写入mysql_Asp.net用户登陆数据库验证与注册写入数据库

1.思路与效果图Index.aspx注册注册成功登陆登陆验证通过进入内容页1登陆没通过验证思路&#xff1a;首先建一个Sqlserver数据库Student,再建一个student表(name,pwd)存放用户名和密码。然后注册功能的实现&#xff1a;通过数据库插入信息到表的Sql语句来实现&#xff0c;成功提…

在WildFly中将Apache Camel和Spring添加为jboss模块

这些天&#xff0c;我在玩Wildfly &#xff0c; Apache Camel和Spring 。 在EAR / WAR之间进行通信的一种简单方法是使用Camel的direct-vm组件。 有或没有骆驼&#xff0c;有很多方法可以实现这一目标。 骆驼在WildFly中就像一个饰物&#xff0c;不需要任何额外的配置。 骆驼很…

页面体验提升小技巧—渐进式图片

前端性能方面有许多可优化的点&#xff0c;而这些优化带来的就是用户体验的提升。今天我们要聊的东西并不能给性能带来提升&#xff0c;但却能在一定程度上提升用户的体验。 参考博客 场景&#xff1a;在访问页面的时候如果图片较大或者网速慢的情况我们会看到图片加载起来是有…

php mysql无限分类排序_PHP 无限级分类、排序

lyk625358header(content-type:text/html;charsetutf-8);echo "";//-无限级排序,自己优化改良的,清除上次调用此函数后留下的静态变量的值$arr array(array(id>2,cname>分类2,parent_id>1),array(id>9,cname>分类9,parent_id>8),array(id>1,cn…

Java方法中的参数太多,第5部分:方法命名

在上一篇文章 &#xff08;有关处理Java方法中过多参数的系列文章的 第4部分 &#xff09;中&#xff0c;我将方法重载视为一种向客户提供需要较少参数的方法版本或构造函数的方法。 我描述了该方法的一些缺点&#xff0c;并建议从方法重载中摆脱出来以使用不同名称的方法至少可…

微信小程序搭配小白接口,自己没有服务器也能开发哦

这里将重点介绍&#xff0c;在自己没有服务器的情况下&#xff0c;如何在微信小程序里直接调用小白接口。 前提 假设你已经开通微信小程序&#xff0c;如果还没有&#xff0c;可前往微信公众平台开通&#xff1a;https://mp.weixin.qq.com 假设你已经开通小白接口&#xff0c…

LeetCode:34. 在排序数组中查找元素的第一个和最后一个位置

1、题目描述 给定一个按照升序排列的整数数组 nums&#xff0c;和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值&#xff0c;返回 [-1, -1]。 示例 1: 输入: nums [5,7,7,8,8,10], targ…

怎么将自己做好的网站发布到互联网上呢?

如何将自己的网站上传到网站空间。 1.需要有一个上传网站的软件&#xff0c;在这里推荐大家使用 FTP全称是flashfxp这个软件&#xff0c;这个功能功能齐全而且操作简单。大家可以先去下载一下这个软 件 2. 打开FTP&#xff0c;界面如下 3.我们要点击链接按钮&#xff0c;然后FT…

vue动态生成下拉框_vue+elementui 动态创建下拉框

v-for"(domain, index) in dynamicValidateForm.domains":label"‘站点‘ index":key"domain.id">v-for"item in testData":key"item.id":label"item.testName":value"item.id":disabled"item…

[贝聊科技]网页端「应用跳转」技术实现演变

本文作者&#xff1a;Mr.Luo &#xff0c;贝聊前端经理。本文同时发布于作者 个人博客 。 由于网页传播的便捷性&#xff0c;从网页向APP导流几乎是所有APP厂商都会采用的推广手段&#xff0c;具体来说就是在网页上提供一些触发点&#xff08;例如按钮、链接&#xff09;&#…