题目

中文题目,不解释:

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. java中内存泄露有几种?如何分析泄露原因

    一.Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址.Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Hea ...

  2. PAT甲级 排序题_C++题解

    排序题 PAT (Advanced Level) Practice 排序题 目录 <算法笔记> 6.9.6 sort()用法 <算法笔记> 4.1 排序题步骤 1012 The ...

  3. 洛谷 P1019单词接龙

    看吧,多简单啊,没有人受伤的世界完成了.                                                                                ...

  4. EXTI中断开关点亮LED源码

    在KEY点亮LED源码的基础上 USER下新建EXIT文件夹,新建bsp_exit.c和bsp_exit.h,添加到工程中(魔术棒添加头文件所在文件夹) bsp_exit.h内容 #ifndef BS ...

  5. 『Linux』第二节: 安装Linux系统

    一. 准备工具 1. centOS系统下载 http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.is ...

  6. redis的安装---Linux

    1.下载https://redis.io/download wget http://download.redis.io/releases/redis-4.0.14.tar.gz tar -zxvf r ...

  7. Admui相关第三方插件

    ace 版本:1.2.3au 官网:https://github.com/ajaxorg/ace-builds/ 许可:BSD 依赖:无 DataAPI:data-pulgin="ace&q ...

  8. 17-MySQL DBA笔记-应用程序调优

    第17章 应用程序调优 本章将主要讲述应用程序调优的一些方法和步骤,应用程序调优的领域很广,本章主要关注的是涉及数据库方面的调优. 在进行性能分析之前,我们先要熟悉应用的角色,它是什么版本的,做什么的 ...

  9. 谷歌(google)广告尺寸大小列表

    在平时做网页模板时,我们需要计算Google AdSense 的尺寸,以确保它能和页面完美的结合,提高AdSense的点击率,进台后看又很麻烦,下面整理了Google 广告的各种尺寸,跟大家分享一下. ...

  10. Vue绑定的table页面在Chrome浏览器左右抖动

    现象: 今天Chrome浏览器升级到最新版本(75.0.3770.100),突然发现之前vue页面只要绑定了el-table标签的,都在左右抖动,抖动得眼睛都花了,百度上找半天也没有遇到相同问题的人, ...