摘要:
题意:给定一张图,求每一条边:1、是否在一个最小割的方案里 2、是否在每一个最小割的方案里 题解: 先做最小割,然后在残余网络上缩点。对于一条边(u,v) 如果f[u]!=f[v],则(u,v)可以在某个最小割上(缩点后的图上的边均为满流边) 如果f[u]==f[S] && f[v]==f[T],则 阅读全文
摘要:
题意:给定一个N*N的网格,每个格点均与周围的八个点连边,每条边有一个边权,求安排每个点的点权h,使$\sum\limits_{e \in G} {e.w \times \min \{ ({h_{e.u}} - {h_{e.v}}),0\} }$最小 题解:所有高度一定不是0就是1,而且一定有一条线 阅读全文
摘要:
题意:给定一张平面图,求其最小割 题解:这里 #include <queue> #include <functional> #include <cstdio> #include <climits> #include <cstring> #include <cstdlib> #include <ios 阅读全文
摘要:
题意:初始时给定一张图,然后往图上不断加边,每次加边后询问最少需要删除多少条边,使得新加入的边可以出现在最小和最大生成树上 题解: 如果u,v之间不存在路径,直接塞进去就好,着重讨论一下之前已经存在路径的情况。(以下以最小生成树为例,最大生成树随便YY一下就出来了- -) 显然加入新的边之后会形成环 阅读全文
摘要:
题意:N*M的网格中有K个植物,每个植物可以保护一些格点,如果该植物没被吃掉,则被保护的格点不可到达,每个僵尸只能从最右边进入,从右往左吃,每个植物有一定价值,求一个吃植物的顺序使得被吃植物价值和最大。 题解: 最大权闭合子图+拓扑排序的说…… 首先根据保护关系建边,由保护指向被保护,保护关系有两种 阅读全文
摘要:
题意:给定N个用户和M个基站,每个基站有建设费用,每个用户由(a,b,c)描述,表示a b基站都建好后能获得c的收益,求最大获利 题解: 推荐论文:胡伯涛-《最小割模型在信息学竞赛中的应用》 然后说一下我的理解,我么按如下方式建图:每条边看作一个点,然后划分成二分图,左边一列是原图中的点也就是发送站 阅读全文
摘要:
题意:有N种食材,每种食材有两种烹饪方法,存在M组约束关系——A用哪种手法烹饪,B用哪种手法烹饪——问是否存在烹饪序列满足要求。 题解: 所谓2-SAT问题,是指我们有多个集合,每个集合里只有两个元素A,A'(或者是B,B' C,C'……),某些集合之间存在约束关系,比如说选了A就必须选B,选了B' 阅读全文
摘要:
题意:有N个问题和M种解法,每个问题可以用两种解法,每种解法只能用一次,求最多能解决的问题的数量 题解: 二分图裸题,另附二分图的一些性质: 1 最小覆盖: 最小覆盖要求用最少的点(X集合或Y集合的都行)让每条边都至少和其中一个点关联。可以证明:最少的点(即覆盖数)=最大匹配数 2 最小路径覆盖: 阅读全文
摘要:
题意:给定一个N*M的网格,每个格子均为白色或黑色,每次可以交换两行或两列,求是否可以通过有限次操作使得从左上到右下的对角线上所有的格子均为黑色 题解:首先,同一列上的格子无论怎么变换都在同一列上,同一行上的格子无论怎么变换都在同一行上,因此问题转化为求既不在同一列也不在同一行上的黑色格子的数量与N 阅读全文
摘要:
题意:给定一个由1-N不重复组成的序列a,再给出N个数的序列b,求是否存在一个序列c,使得任意一个位置i均满足(ai+bi)%N=ci || (ai-bi+N)%N=ci,并求字典序最小的c 题解: 任意一个ai只能变成两个数,所以我们可以建二分图看是否存在完全匹配来确定是否存在合法序列。 由于方案 阅读全文