CodeForces - 976F Minimal k-covering

Description

给你一张左边 \(n_1\) 个点,右边 \(n_2\) 个点, \(m\) 条边的二分图。对于每一个 \(0\le k\le minDeg\) ,求选取哪些边可以使每个点的度数都不小于 \(k\)

\(1\le n_1,n_2\le 2000\)\(m\le 2000\)

Solution

大力建模谁都会系列,多组询问会炸。

于是建边就建流量为 \(deg[i]-k\) 的边,每次增加流量即可。

#include<bits/stdc++.h>
using namespace std;template <class T> inline void read(T &x) {x = 0; static char ch = getchar(); for (; ch < '0' || ch > '9'; ch = getchar());for (; ch >= '0' && ch <= '9'; ch = getchar()) (x *= 10) += ch - '0';
}#define N 5001
#define rep(i, a, b) for (int i = a; i <= b; i++)
#define INF 0x3f3f3f3fint S, T, head[N], cur[N], tot = 1, q[N], dep[N];
struct edge { int v, c, next; }e[100001];
inline void insert(int u, int v, int c) { e[++tot].v = v, e[tot].c = c, e[tot].next = head[u]; head[u] = tot; }
inline void add(int u, int v, int c) { insert(u, v, c), insert(v, u, 0); }
inline bool bfs() {memset(dep, 0, sizeof dep); dep[S] = 1;int l = 1, r = 1; q[1] = S;while (l <= r) {int u = q[l++];for (int i = head[u], v; i; i = e[i].next) if (e[i].c && !dep[v = e[i].v]) {dep[v] = dep[u] + 1, q[++r] = v;if (!(v ^ T)) return 1;}}return 0;
}
int dfs(int u, int dist) {if (u == T) return dist;int ret = 0;for (int &i = head[u], v; i; i = e[i].next) if (dep[v = e[i].v] == dep[u] + 1 && e[i].c) {int d = dfs(v, min(dist - ret, e[i].c));e[i].c -= d, e[i ^ 1].c += d, ret += d;if (ret == dist) return dist;}if (!ret) dep[u] = -1;return ret;
}
inline void cpy() { rep(i, S, T) cur[i] = head[i]; }
inline void rec() { rep(i, S, T) head[i] = cur[i]; }
int dinic() { int ret = 0; cpy(); while (bfs()) ret += dfs(S, INF), rec(); return ret; }int nu, nv, n, m, deg[N], minDeg = INF;
vector<int> ans[N];
struct Data { int u, v; }a[N];int main() {read(nu), read(nv), read(m), n = nu + nv, T = n + 1;rep(i, 1, m) read(a[i].u), read(a[i].v), a[i].v += nu, deg[a[i].u]++, deg[a[i].v]++;rep(i, 1, n) minDeg = min(minDeg, deg[i]);rep(i, 1, nu) add(S, i, deg[i] - minDeg - 1);rep(i, nu + 1, n) add(i, T, deg[i] - minDeg - 1);int tmp = tot;rep(i, 1, m) add(a[i].u, a[i].v, 1);for (int i = minDeg; i >= 0; i--) {for (int j = 2; j <= tmp; j += 2) e[j].c++;dinic();for (int j = tmp + 1; j <= tot; j += 2) if (e[j].c) ans[i].push_back((j - tmp + 1) / 2);}rep(i, 0, minDeg) {printf("%d ", ans[i].size());for (auto y : ans[i]) printf("%d ", y);puts("");}return 0;
}

转载于:https://www.cnblogs.com/aziint/p/9191660.html

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

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

相关文章

进制转换详细解说

进制的由来&#xff1a;任何数据在计算机中都是以二进制的形式存在的。二进制早起由电信号开关演变而来。 一个整数在内存中一样也是二进制的&#xff0c;但是使用一大串的1或者0组成的数值进行使用很麻烦 所以就想把一大串缩短点&#xff0c;讲二进制中的三位用一位表示。 这三…

删除Windows 7自动创建的隐藏分区

如果你安装了Windows 7测试版&#xff0c;在安装完成后发现Windows 7自动划出一个隐藏的分区&#xff0c;大小为200MB的。又不懂该怎样删除&#xff1f; 其实这个隐藏分区的删除比较麻烦的&#xff0c;如果贸然使用DM等分区工具来删除&#xff0c;会损坏硬盘的分区表。即使是使…

jQuery --- 简单操作合集

// 获取所有<p>元素 $("p");// 获取一个ID为myDiv的<div>元素 $("div#myDiv");// 获取所有type属性等于"text"的<input>元素 $("input[typetext]");// 获取所有p元素并隐藏它们 $("p").hide();// 获取ID为…

6.2 常见多媒体标准及压缩技术

MPEG-1是视频的压缩标准.这个标准是在1993年8月份发布的.标准就规定了视频文件以每秒钟1.5MB的速率来传输数字媒体它的运动图像以及伴音的编码.这个标准它包括了五个部分. MPEG-2它是1994年推出来的一个压缩标准&#xff0c;也是用于视频的。MPEG-2、MPEG-4、MPEG-7、MPEG-21它…

Single Number II

2018-06-17 14:04:27 问题描述&#xff1a; 问题求解&#xff1a; 方法一、如果对空间复杂度没有要求&#xff0c;那么直接使用HashMap对每个数字出现次数进行计数&#xff0c;最后对HashMap遍历一遍即可&#xff0c;总的时间复杂度为O(n)&#xff0c;空间开销较大。 方法二、对…

JavaScript --- 自定义优先级队列

根据HTTP1.1的规范,一个客户端在同一时刻与同一域名不能有两个以上的连接。为了完全符合HTTP1.1,一个典型的解决方案就是使用优先级队列.下面是自定义的优先级队列 /** * 用原型模式定义PriorityQueue的方法, * 如果没有定义_compare()方法,那么第一个方法就是默认的_compare(…

可添加至收藏夹并在浏览器地址栏运行的JS代码

编辑当前网页 代码如下&#xff1a; javascript:document.body.contentEditabletrue; document.designModeon; void 0 无敌图片风火轮 在地址栏运行下面的代码可提取所有图片元素在页面上滚动显示&#xff0c;属于网页显示特效。 代码如下&#xff1a; javascript:R0; x1.1; y1…

SOA相关资料

http://www.cnblogs.com/mushroom/p/4369032.html转载于:https://www.cnblogs.com/tianciliangen/p/7825959.html

打造自己Django博客日记

本教程使用的开发环境 本教程写作时开发环境的系统平台为 Windows 10 &#xff08;64 位&#xff09;&#xff0c;Python 版本为 3.5.2 &#xff08;64 位&#xff09;&#xff0c;Django 版本为 1.10.6。 建议尽可能地与教程的开发环境保持一致&#xff08;尤其是 Python 与 D…

vue --- 使用字符串'api'跨域请求资源

vue环境下,修改config/index.js文件 module.exports {data: {proxyTable: {/api: {target: http://siwei.me, // 将api转发到siwei.me上changeOrigin: true,pathRewrite: {^/api: // 去掉url中的api}}}, }原请求: http://localhost:8080/api/interface/blogs/all 新请…

重庆两江新区将建国内最大“云计算”数据基地

全市经济工作会指出&#xff0c;要尽快启动、全力争取打造国内最大的数据处理基地&#xff0c;最终要做成上百万台服务器、上千亿美元规模的“云计算”基地&#xff0c;成为全球数据开发和处理中心。昨日&#xff0c;市经信委主任沐华平接受本报专访时表示&#xff0c;重庆正在…

如何在前端生成二维码

第一步&#xff1a; 引入&#xff1a;<script src"qrcode.js"></script> 第二步&#xff1a; <div id"qrcode"></div> 第三步&#xff1a; // 1.简单使用方式 &#xff1a;new QRCode(document.getElementById(qrcode), http://ww…

vue --- Vue中的路由跳转问题

import Vue from vue import Router from vue-router // 前2个导入时vue框架自带的 import SayHi from /components/SayHi // 这个导入是自己写的位于components下的sayHiVue.use(Router) // 用到了vue的Router模块 export default new Router({routes: [{path: /say_hi,…

水瓶与天蝎的八年爱恋(图

新浪网友&#xff1a;kinkihi 水瓶与天蝎的八年爱恋我水瓶&#xff0c;他蝎子。我们相恋8年&#xff0c;确切的说中间有5年在一起的时间不超过6个月&#xff0c;两人一直处于异地状态&#xff0c;说出来可能没几个人能信&#xff0c;我们是这样走过来的。我一直是严格要求自己&…

Controller上使用@CrossOrigin注解

本文首次发布于My Blog,作者Ian,转载请保留原文链接。 就是一个跨域的注解 Spring MVC 从4.2版本开始增加了对CORS的支持 CORS介绍请看这里&#xff1a;https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS 参考isea533&#xff1a;https://blog.csdn.net/…

vue --- 基本的表单元素

<template> <div>input: <input typetext v-modelinput_value />,输入的值: {{input_value}}<hr />text area: <textarea v-model"textarea_value"></textarea>,输入的值: {{textarea_value}}<hr/>radio:<input typera…

相关名词浅析

分布式&#xff1a;一个业务分拆多个子业务&#xff0c;部署在不同的服务器上集群&#xff1a;同一个业务&#xff0c;部署在多个服务器上转载于:https://www.cnblogs.com/yuki-l/p/9202819.html

Beta 讨论分析——持续更新ing

wonderland Beta 讨论分析 标签&#xff08;空格分隔&#xff09;&#xff1a; 软工实践 wonderland 主要工作: info信息&#xff1a; 1、关联账号界面:hbb 2、标签检索界面:hbb 3、近期活跃度(cf、hdu):橘子 4、增加个人头像 wiki &#xff1a; 点赞排行、阅读量排行返回数据 …

vue --- 提交表单到服务器

<template> <div><textarea v-modelcontent></textarea><br/><input typebutton clicksubmit value留言 /> </div> </template><script> export default {data () {return {content: }},methods: {submit: function () …

节约内存:Instagram的Redis实践(转)

一、问题&#xff1a; 数据库表数据量极大&#xff08;千万条&#xff09;&#xff0c;要求让服务器更加快速地响应用户的需求。二、解决方案&#xff1a;1.通过高速服务器Cache缓存数据库数据2.内存数据库三、主流解Cache和数据库对比&#xff1a;从以上各数据可知&#xff0c…