镜面通道 bzoj-3630 JLOI-2014 题目大意:题目链接. 注释:略. 想法: 我们发现,只要上下界没有被完全封死,我们就一定有一条合法的光路. 所以只需要将上界和下界拆开即可. 拆点,把每个点分为入点和出点,入点向出点连1的边. 元件之间如果连通就连$inf$. 和上界连通就对源点连$inf$,和下界连通就和汇点连$inf$. 最后求最小割即为答案. Code: // luogu-judger-enable-o2 #include<iostream> #include<cs…
题目描述 在一个二维平面上,有一个镜面通道,由镜面AC,BD组成,AC,BD长度相等,且都平行于x轴,B位于(0,0).通道中有n个外表面为镜面的光学元件,光学元件α为圆形,光学元件β为矩形(这些元件可以与其他元件和通道有交集,具体看下图).光线可以在AB上任一点以任意角度射入通道,光线不会发生削弱.当出现元件与元件,元件和通道刚好接触的情况视为光线无法透过(比如两圆相切).现在给出通道中所有元件的信息(α元件包括圆心坐标和半径xi,yi,ri,β元件包括左下角和右上角坐标x1,y1,x2,y2…
从左边不能到达右边当且仅当存在一条与上下底边相连的分割线将它们分开 设下底边为S,上底边为T,每个元件作为点,有公共部分的两个点互相连边 最后拆点求最小割 #include<cstdio> #include<cmath> #include<algorithm> using namespace std; const int N=620,inf=~0U>>2; int n,i,j,x,y,S,T,h[N],gap[N],ans; struct P{int x1,…
[BZOJ3630][JLOI2014]镜面通道 Description 在一个二维平面上,有一个镜面通道,由镜面AC,BD组成,AC,BD长度相等,且都平行于x轴,B位于(0,0).通道中有n个外表面为镜面的光学元件,光学元件α为圆形,光学元件β为矩形(这些元件可以与其他元件和通道有交集,具体看下图).光线可以在AB上任一点以任意角度射入通道,光线不会发生削弱.当出现元件与元件,元件和通道刚好接触的情况视为光线无法透过(比如两圆相切).现在给出通道中所有元件的信息(α元件包括圆心坐标和半径xi…
[BZOJ2229][ZJOI2011]最小割(网络流,最小割树) 题面 BZOJ 洛谷 题解 戳这里 那么实现过程就是任选两点跑最小割更新答案,然后把点集划分为和\(S\)联通以及与\(T\)联通. 然后再这两个点集里面分别任选两点跑最小割,递归下去即可. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #includ…
[CF331E]Biologist(网络流,最小割) 题面 洛谷 翻译: 有一个长度为\(n\)的\(01\)串,将第\(i\)个位置变为另外一个数字的代价是\(v_i\). 有\(m\)个要求 每个要求的形式是 首先确定若干位置都要是\(0\)或者\(1\) 然后给定这\(K\)个位置,如果些位置上都满足要求 那么就可以得到\(W_k\)元 某些要求如果失败了还要倒着给\(g\)元 问最终能够得到的最大利润 输入格式: 第一行是\(n,m,g\) 第二行是\(V_i\) 接下来\(m\)行 第…
[BZOJ1391]Order(网络流,最小割) 题面 BZOJ权限题... 良心洛谷 题目描述 有N个工作,M种机器,每种机器你可以租或者买过来. 每个工作包括若干道工序,每道工序需要某种机器来完成,你可以通过购买或租用机器来完成. 现在给出这些参数,求最大利润 输入输出格式 输入格式: 第一行给出 N,M(1<=N<=1200,1<=M<=1200) 下面将有N组数据. 每组数据第一行给出完成这个任务能赚到的钱(其在[1,5000])及有多少道工序 接下来若干行每行两个数,分别…
[BZOJ3144]切糕(网络流,最小割) 题面 BZOJ 题解 这样的类型很有趣 先不考虑相邻距离差不能超过\(D\)的限制 我们考虑答案,显然就是在每个位置选一个最小的高度割就行了 化成最小割的模型? 对于每个位置挂一条长链,分别表示每个高度 \(S\)和\(1\)高度相连,\(R\)高度和\(T\)相连 连向第\(i\)个点的边的容量就是高度\(i\)的代价 现在加入了距离不超过\(D\)的限制 举个例子,如果你一个割掉了\(1\),那么,另外一个就不能割\(1+D\) 也就是在\(D\)…
前言 网络流被hbx吊起来打 Solution 考虑一下这个走法是不是和象棋中马的走法一模一样(废话) 那么显然我每一次移动是走三次,如果将棋盘二分图染色一下,不就是每一次只能走到另一个颜色的吗? 然后我们题目中求的是最多可以放置多少个装置,不能够攻击,也就是一个裸的二分图最小割? 直接最大流求一下做个减法就没了. 代码实现 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.…
750. 栅格网络流 ★★☆   输入文件:flowa.in   输出文件:flowa.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] Bob 觉得一般图的最大流问题太难了,他不知道如何解决,于是他想尝试一个简单点的:栅格网络中的最大流问题,这个虽说简单了一点,但对 Bob 来说依旧太难,现在他有个麻烦需要你帮忙:给你一个 N*M 的栅格(如下所示),栅格中的边表示可以流水的管道,边上的数字表示管道的容量,举例说明:在下面图( 2.6.1 )中, (0,0) 和…