SCUT - 205 - 饲养牛 - 最大流】的更多相关文章

https://scut.online/p/205 连着做所以一开始就觉得是网络流. 这种至多分配几次的很有网络流的特征. 一开始想从食物和饮料流向牛,但是怎么搞都不对. 其实可以从s流向食物,食物流向牛,牛流向饮料,饮料流向t. #include<bits/stdc++.h> using namespace std; typedef long long ll; namespace Dinic_Maxflow { /* 备注: 1.检查MAXN与MAXM,注意预留反向边和额外边的位置 2.每次…
题目要求所有牛都去避雨的最长时间最小. 显然需要二分 二分之后考虑如何判定. 显然每头牛都可以去某个地方 但是前提是最短路径<=mid. 依靠二分出来的东西建图.可以发现这是一个匹配问题 dinic即可. 注意数组要开两倍 因为要拆点 我开小了wa了两发才意识过来. const int MAXN=410; int n,m,S,len,T,L,R,ans; ll a[MAXN][MAXN]; int c[MAXN],cc[MAXN],cur[MAXN],vis[MAXN],q[MAXN]; int…
题目链接 题意 有\(N\)头牛,\(F\)个食物和\(D\)个饮料.每头牛都有自己偏好的食物和饮料列表. 问该如何分配食物和饮料,使得尽量多的牛能够既获得自己喜欢的食物又获得自己喜欢的饮料. 建图 在 源点 到 食物 之间加边,边权为\(1\) 在 饮料 到 汇点 之间加边,边权为\(1\) 将牛拆成两点,在两点之间加边,边权为\(1\) 这一点很重要,可以从以下两个方面去考虑: 1) 从含义上,只要流为1,这头牛就被满足了,多了就纯属是浪费. 2) 从操作上,最后答案是根据最大流的值来判断的…
  人的寿命应该能达到100 至175 岁,为什么都没有达到呢?最主要一个原因就是我们不重视保健,不懂得保健的知识.很多人死于无知,这很冤枉啊! 大家知道怎么保健吗?国际上有个维多利亚宣言,宣言里有三个里程碑:第一个叫平衡饮食,第二个叫有氧运动,第三个叫心理状态.这三个里程碑,国际上都知道,而我们很多人不清楚.三个里程碑的标题不会变,但内容会随时改变. 一.平衡饮食 下面我讲第一个问题,平衡饮食.所谓平衡饮食,有饮和食两大类. 1."饮"的问题 国际会议上提出了六种保健品:第一绿茶:第…
前言:这个东西坑死我了 业务需求要生成小程序码 然后我找了两天的资料 运行 生成一堆的乱码 死活就是不能生成 最后看了一遍博客 套用了一下 自己又简单的改了一下  nodejs 我是刚刚接触  有很多都是不明白 request-promise  开始我用这个框架获得“access_token ” 然后我就想 这个可以发送请求  那生成小程序码是不是也可以用这个  答案是错误的  里面少了一个设置responseType: 'arraybuffer'  也许里面有 但是我不知道  最后 我请求ac…
一道水题WA了这么多次真是.... 统考终于完 ( 挂 ) 了...可以好好写题了... 先floyd跑出各个点的最短路 , 然后二分答案 m , 再建图. 每个 farm 拆成一个 cow 点和一个 shelter 点, 然后对于每个 farm x : S -> cow( x ) = cow( x ) 数量 , shelter( x ) -> T = shelter( x ) 容量 ; 对于每个dist( u , v ) <= m 的 cow( u ) -> shelter( v…
题目描述 FJ's cows really hate getting wet so much that the mere thought of getting caught in the rain makes them shake in their hooves. They have decided to put a rain siren on the farm to let them know when rain is approaching. They intend to create a…
https://scut.online/p/48 一道二分图匹配,跑费用流就可以过了(其实最大流都可以了). #include<bits/stdc++.h> #define MAXN_ 5050 #define INF 0x3f3f3f3f #define P pair<int,int> using namespace std; struct edge { int to,cap,cost,rev; }; int n,m,flow,s,t,cap,res,cost,from,to,h…
题意:有n个寝室,每个寝室4个人,现在在搞搬寝室的活动,告诉你每个寝室之前的人员名单,和之后的人员名单,问最少需要几个人要搬寝室. 思路: 转化为最小费用最大流解决的二分图问题,对每个去年的宿舍,向每个今年的组合连一条边,权值为1,费用为需要搬的人数(4-相同的人数),源点到去年各点,今年各点到汇点,都连一条权值为1费用为0的最大流,跑一次费用流即可.   #include <iostream> #include <cstdio> #include <algorithm>…
题目链接:https://www.nowcoder.com/acm/contest/143/E 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 Nowcoder University has 4n students and n dormitories ( Four students per dormitory). Students numbered from 1 to 4n. And i…