题目

中文题目,不解释:

BZOJ传送门

分析

这道题BZOJ上也只有几个人过…奇怪了

下面是正解

  • 原问题为一个二分图边染色问题。首先考虑最好情况。最理想情况的分配为:设一个点xxx的度为dgr(x)dgr(x)dgr(x)。那么若dgr(x)dgr(x)dgr(x)为ttt的倍数,那么与xxx相连的边恰好平均分配给ttt个公司,每个公司dgr(x)/tdgr(x)/tdgr(x)/t个;如果不是ttt的倍数,那么要尽量分的均匀,即max(ax(c))−min(ax(c))=1max(a_x(c))-min(a_x(c))=1max(ax​(c))−min(ax​(c))=1。分出来应该为floor(dgr(x)/t),floor(dgr(x)/t),...,floor(dgr(x)/t)+1,floor(dgr(x)/t)+1,...floor(dgr(x)/t),floor(dgr(x)/t),...,floor(dgr(x)/t)+1,floor(dgr(x)/t)+1,...floor(dgr(x)/t),floor(dgr(x)/t),...,floor(dgr(x)/t)+1,floor(dgr(x)/t)+1,...。可以证明上述分配方案一定能达到。证明过程就是归纳构造的过程。我们先构造出ttt号公司所选边,然后转化成t−1t-1t−1个公司的子问题。根据假设,可以确定每个点属于ttt公司的边数只有一种或两种可能。于是建图,原来的边保留,容量为111。原点到AAA国每个点连以需要分配给ttt号公司的边数为容量的边。如果该点度数不能被ttt整除,那么多连一条容量为111的边。求最大流。可以证明任意一个最大流一定能对应到ttt公司的分配方案。然后删去满流边,递归成t−1t-1t−1个公司的问题。
  • 题解和javajavajava标程出处 传送门

…已经证明分配方案一定可以达到,那么这就是一道结论题了…下面是我的ACACAC代码

#include <cstdio>
template<typename T>inline void read(T &num) {
char ch; while((ch=getchar())<'0'||ch>'9');
for(num=0;ch>='0'&&ch<='9';num=num*10+ch-'0',ch=getchar());
}
const int MAXN = 205;
int deg[2][MAXN], n[2], t, m, ans;
int main ()
{
read(n[0]), read(n[1]), read(m), read(t);
for(int i = 1, x, y; i <= m; ++i)
read(x), read(y), ++deg[0][x], ++deg[1][y];
for(int i = 1; i <= n[0]; ++i) ans += bool(deg[0][i] % t);
for(int i = 1; i <= n[1]; ++i) ans += bool(deg[1][i] % t);
printf("%d\n", ans);
}

BZOJ 3903 反垄断 (最大流推的结论题)的更多相关文章

  1. crtmpserver实现防盗流和流推送验证

    Protecting your streams from webpage copy&paste flash code, listing or recording 保护流,防止在页面上被复制&a ...

  2. [bzoj 1449] 球队收益(费用流)

    [bzoj 1449] 球队收益(费用流) Description Input Output 一个整数表示联盟里所有球队收益之和的最小值. Sample Input 3 3 1 0 2 1 1 1 1 ...

  3. BZOJ.2597.[WC2007]剪刀石头布(费用流zkw)

    BZOJ 洛谷 \(Description\) 给定一张部分边方向已确定的竞赛图.你需要给剩下的边确定方向,使得图中的三元环数量最多. \(n\leq100\). \(Solution\) 这种选择之 ...

  4. crtmpserver实现防盗流和流推送验证 之二

    IV. Catching the thieves 抓住小偷 Well, we have just added a secure mechanism to our little streaming se ...

  5. BZOJ 3144 [HNOI2013]切糕 (最大流+巧妙的建图)

    题面:洛谷传送门 BZOJ传送门 最大流神题 把点权转化为边权,切糕里每个点$(i,j,k)$向$(i,j,k+1)$连一条流量为$v(i,j,k)$的边 源点$S$向第$1$层的点连边,第$R+1$ ...

  6. BZOJ 1189 二分匹配 || 最大流

    1189: [HNOI2007]紧急疏散evacuate Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1155  Solved: 420[Submi ...

  7. BZOJ 1053 & 反素数

    题意: 反素数,膜一篇GOD's Blog...http://blog.csdn.net/ACdreamers/article/details/25049767 此文一出,无与争锋... CODE: ...

  8. BZOJ 3085: 反质数加强版SAPGAP (反素数搜索)

    题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3085 题意:求n(<=10^100)之内最大的反素数. 思路: 优化2: i ...

  9. poj 2711 Leapin' Lizards && BZOJ 1066: [SCOI2007]蜥蜴 最大流

    题目链接:http://poj.org/problem?id=2711 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1066 Your p ...

随机推荐

  1. mq 探究

    一 mq简介(message queue) 消息队列技术是分布式应用间交互信息的一种技术. 消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走 通过消息队列,应用程序可独立地执行-它们不 ...

  2. mosquitto安装遇到问题和解决办法

    问题1 make编译报错,提示xsltproc命令未找到 解决办法: yum  install libxslt 问题2 make编译报错,提示: failed to load external ent ...

  3. 阿里云ecs不同网段内网互通

    建立ClassicLink连接 官方文档:https://help.aliyun.com/document_detail/65413.html?spm=a2c4g.11186623.2.12.16c9 ...

  4. Map 集合遍历的4种方法

    Map 集合初始化时,指定集合初始值大小. 说明:HashMap 使用 HashMap(int initialCapacity) 初始化. 正例:initialCapacity = (需要存储的元素个 ...

  5. MySQL 多列排序

    MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 M ...

  6. [yarn]yarn和npm的对比

    一.简介 NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服 ...

  7. 利用Filter和HttpServletRequestWrapper实现请求体中token校验

    先说一下项目的背景,系统传参为json格式,token为其中一个必传参数,此时如果在过滤器中直接读取request,则后续controller中通过RequestBody注解封装请求参数是会报stre ...

  8. .net Core CLR

    .net Core CLR是开源的.大部分文件是C++写成.这样他就可以编译后再不同的平台运行. https://github.com/dotnet/coreclr

  9. springboot启动流程(十一)aop切面处理过程

    所有文章 https://www.cnblogs.com/lay2017/p/11478237.html 正文 spring的两大核心就是ioc和aop.在关于ioc依赖注入的文章中,我们了解了如何根 ...

  10. Unity使用Resources读取Resources路径下的二进制文件(Binary Data)必须使用 .bytes扩展名

    将某二进制文件放在Resources目录下,希望用Resources.Load<TextAsset>的方式读取,发现TextAsset是null 查阅Unity文档得知,使用Resourc ...