————图论————
文章平均质量分 52
Michael_GLF
AFOing
展开
-
【洛谷2296】【NOIP2014DAY2T2】寻找道路(最短路)
传送门【题目分析】这是DAY2T2??????嘻嘻嘻嘻嘻嘻嘻嘻直接从终点跑到起点的最短路就行了。。。。。。然而我sb了先把合法点跑出来再做的最短路反正能过就行hhhh#include<bits/stdc++.h>using namespace std;const int MAXN=1e4+10;const int MAXM=2e5+10;const i...原创 2019-10-04 10:58:41 · 125 阅读 · 0 评论 -
NOIP模拟 航班(scc强连通分量+树形DP/双Dfs)
【题目描述】L因为业务繁忙,经常会到处出差。因为他是航空公司的优质客户,于是某个航空公司给了他一个优惠券。他可以利用这个优惠券在任何一个国家内的任意城市间免费旅行,当他的路线跨国才会产生费用。L有一个航空公司的价格表与航线。而且每个城市出发都能到所有的城市,2个城市间可能有不止一个航班,一个国家内的2个城市间一定有不同的路线,但是不同国家的城市间只有一条路线。L想知道从每个城市出发到产生费...原创 2018-10-04 16:47:04 · 204 阅读 · 0 评论 -
POJ3281 Dining(网络流)
【题目大意】给你N头牛,F种食物,D种饮料,每种食物和饮料只能给一头牛,每头牛都有食物和饮料的喜好,只有食物和饮料都是一头牛喜欢的,我们称这头牛就是满足的,问最多有多少头牛可以满足。【输入格式】第一行三个整数:N,F,D。接下来N行,每行前两个数为fi,di,表示喜好数量,接下来fi个数表示该牛喜欢的食物,接下来di个数表示该牛喜欢的饮料。【输出格式】一个整数表示最多有多少...原创 2018-10-10 10:43:11 · 136 阅读 · 0 评论 -
ZOJ2760 How many shortest path(网络流)
题目传送门:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2760【题目描述】给一个N个点的图,用邻接矩阵表示点的联通情况,-1表示无边,否则表示边的长度。定义两条路径非重叠为两条路径没有公共边的情况,给出源点和汇点,求从源点到汇点有多少条非重叠的最短路径。【输入格式】输入包含多组数据,每组数据第一行为N,...原创 2018-10-10 14:37:35 · 165 阅读 · 0 评论 -
WOJ124 Football Coach(网络流)
题目传送门:http://acm.whu.edu.cn/olive/problem/124【题目大意】给你N支球队,M场比赛,每个球队开始时都有初始的分数,现问你能否通过安排一下剩余M场比赛的结果,使第N支球队最后的分数最高。【输入格式】输入包含多组数据。每组数据先给两个数N,M,然后接下来一行有N个数,表示当前球队的分数,接下来M行,每行两个整数A,B表示A,B之间有一场比赛,比...原创 2018-10-10 15:22:47 · 270 阅读 · 0 评论 -
关于网络流建模的一些笔记
写在前面网络流这个专题,说来博大精深,它的题目的主要特点就是——完全看不出来是网络流。。。。所以这篇博客记录一下比较常见的网络流建图的模型吧。。。。。最大流的一些基本模型1.最大匹配最大匹配基本可以较形象的理解为用多根绳子在保证合法的情况下将一些物品“串”了起来,最后要求用的绳子数最大。如果会产生费用,我们就尽量将费用加在这条链上。给几道例题:1.POJ3281 D...原创 2018-10-10 16:06:45 · 187 阅读 · 0 评论 -
HDU4322 Candy(费用流)
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4322【题目大意】给你N个糖果,M个小朋友,给你一个M*N的矩阵S,S[i][j]表示第i个小朋友拿到第j块糖产生的“喜好”x(x=0或1),如果喜好为1,那么如果分给这个小朋友这颗糖,那么他会得到K的高兴值,如果分给一个小朋友他不喜欢的糖,那么他会获得1高兴值。给你M个数Bi,现询问能否...原创 2018-10-11 07:34:58 · 156 阅读 · 0 评论 -
洛谷1137 旅行计划(拓扑排序)
【题目描述】小明要去一个国家旅游。这个国家有#N个城市,编号为1至N,并且有M条道路连接着,小明准备从其中一个城市出发,并只往东走到城市i停止。所以他就需要选择最先到达的城市,并制定一条路线以城市i为终点,使得线路上除了第一个城市,每个城市都在路线前一个城市东面,并且满足这个前提下还希望游览的城市尽量多。现在,你只知道每一条道路所连接的两个城市的相对位置关系,但并不知道所有城市具体的位...原创 2018-10-11 16:43:17 · 240 阅读 · 0 评论 -
SCOI2011 糖果(差分约束)
【题目描述】幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候,lxhgww需要满足小朋友们的K个要求。幼儿园的糖果总是有限的,lxhgww想知道他至少需要准备多少个糖果,才能使得每个小朋友都能够分到糖果,并且满足小朋友们所有的要求。【输入格...原创 2018-10-11 20:11:41 · 420 阅读 · 0 评论 -
洛谷1231 教辅的组成(网络流)
biubiu~【题目分析】板啊。。。。。调了那么久啊。。。。。这道题与Dining一题几乎一模一样啊。。。。。写的时候还是忘了拆点。。。。。。调了好久才想起。建图顺序为练习册(答案)---书---书---答案(练习册)根据给出关系建边即可。【代码~】#include<bits/stdc++.h>using namespace std;const int...原创 2018-10-18 07:46:49 · 130 阅读 · 0 评论 -
POJ2135 Farm Tour(网络流)
所有人!都过来!【题目分析】一开始完全没想到是网络流啊。。。。。。做了两次最短路发现有反例所以gg。其实我觉得单源最短路可以算作网络流的特殊情况,所有连边容量为1,费用为w,建立超级源点s和超级汇点t,s向起点连容量为1费用为0的边,终点向t连容量为1费用为0的边,跑一遍最小费用最大流,最后的费用就是最短路长度。回到这道题,因为要走个来回并且费用最少,所以将s与起点、t与终点的连边...原创 2018-10-18 08:25:43 · 180 阅读 · 0 评论 -
洛谷2017 晕牛Dizzy Cows(拓扑排序)
duang~【题目分析】这道题为什么想到拓扑排序?因为最后要求判断无向边方向使图无环,所以就想到啦。对于已给出的有向边,我们将u->v视为u<v,最后如果要求无环,就是不出现u<v,v<s,s<u的情况。所以读入所有有向边后拓扑排序一下即可,询问无向边时如果u比v小,就u->v,否则v->u。【代码~】#include<bi...原创 2018-10-18 14:39:18 · 147 阅读 · 0 评论 -
POJ3041 Asteroids(最小点覆盖)
啦啦啦【题目分析】比较经典的最小点覆盖,对于障碍物(i,j),我们可以选择消第i行,也可以选择消第j列,所以所有障碍物横纵坐标连边。问最少消多少次,就是问最大能匹配几次,转化为最大匹配即可。跑一遍网络流或匈牙利即可。【代码~】#include<iostream>#include<cstdio>#include<algorithm>...原创 2018-10-19 19:41:39 · 165 阅读 · 0 评论 -
网络流24题 餐巾计划(费用流)
【题目描述】一个餐厅在相继的 n 天里,每天需用的餐巾数不尽相同。假设第 i天需要 ri 块餐巾。餐厅可以购买新的餐巾,每块餐巾的费用为 P 分;或者把旧餐巾送到快洗部,洗一块需 M 天,其费用为 F 分;或者送到慢洗部,洗一块需 N 天,其费用为 S 分(S< F )。每天结束时,餐厅必须决定将多少块脏的餐巾送到快洗部,多少块餐巾送到慢洗部,以及多少块保存起来延期送洗。但是每天洗...原创 2018-09-30 21:28:21 · 184 阅读 · 0 评论 -
网络流24题 太空飞行计划SPJ(最大流)
【题目描述】W 教授正在为国家航天中心计划一系列的太空飞行。每次太空飞行可进行一系列商业性实验而获取利润。现已确定了一个可供选择的实验集合 E={E1,E2,…,Em},和进行这些实验需要使用的全部仪器的集合 I={I1, I2,…In}。 实验 Ej 需要用到的仪器是 I 的子集 Rj∈I。配置仪器 Ik 的费用为 Ck 美元。实验 Ej 的赞助商已同意为该实验结果支付 Pj 美元。W 教授...原创 2018-09-26 21:25:07 · 146 阅读 · 0 评论 -
洛谷3953【NOIP2017DAY1T3】 逛公园(最短路+DP)
氵谷传送门【题目描述】很仙的一道最短路,想出状态定义后还是比较好做的。首先跑出1到所有点的最短路,记作dis[i]。定义状态方程dp[x][i]表示到点x比最短路大i的路径条数,根据这个数据规模明显直接O(nk)枚举就行。DP转移方程:,这里因为一个点可以被多次搜到,所以记忆化可以做到剪枝效果。而后面这个式子看着长其实移项后就是,其中表示如果走这条边比最短路长多少,然后用当前枚...原创 2019-09-27 20:09:59 · 194 阅读 · 0 评论 -
洛谷4316 TYVJ1933 绿豆蛙的归宿(期望+拓扑)
洛谷传送门【题目分析】受收集邮票这道题的影响,定义ans[x]表示从节点x到终点的期望路径长度。分析一下很容易能得出ans[x]的递推式:,其中out[x]表示离开x的边的数量。所以直接建一个从终点到起点的反图,一边建一边统计答案即可,答案就是ans[1]【代码~】#include<bits/stdc++.h>using namespace std;c...原创 2019-03-06 11:49:43 · 155 阅读 · 0 评论 -
POJ 2536 地鼠(二分图最大匹配)
【题目描述】 草原某片区域上有 N 个地鼠正在地面寻食,附近有 M 个地鼠洞,地鼠和地鼠洞的当前位置用坐标(x,y)表示。每个洞只能容纳一个地鼠。 一只老鹰正飞向这里,如果地鼠在 S 秒内没有进入地鼠洞,则会被老鹰吃掉。所有地鼠都以同一速度 V 进行逃生。请你帮地鼠家族设计一个优秀的逃生策略,使得损失的地鼠最少。【输入格式】 输入包含多组数据。 每组数据的第...原创 2018-07-06 15:00:40 · 185 阅读 · 0 评论 -
SDOJ 2726 食堂(差分约束系统)
【问题描述】 在SD食堂,所有的座位是一行一行的排列。现在有N个座位排成一行,依次编号1,2,…,N,每个座位只能坐一个人,现在L想数一下有多少个人坐着,一个一个数太慢了,L决定只选择M段连续的座位,对每段分别数出人数。由于食堂噪音十分嘈杂,L无法专心,可能有输错了。但是L认为没有数漏,最多是重复计数导致的。现在他把得到的数据给你,希望你帮他算出,一共最多有多少人。【输入格式】 ...原创 2018-07-30 16:56:28 · 265 阅读 · 0 评论 -
Codevs 1768 种树(差分约束系统)
【问题描述】 为了绿化乡村,H 村积极响应号召,开始种树了。 H村里有 n 幢房屋,这些屋子的排列顺序很有特点,在一条直线上。于是方便起见,我们给它们标上 1~n 。树就种在房子前面的空地上。 同时,村民们向村长提出了 m 个意见,每个意见都是按如下格式:希望第 li 个房子到第 ri 个房子的房前至少有 ci 棵树。 因为每个房屋前的空地...原创 2018-08-01 11:20:23 · 230 阅读 · 0 评论 -
浅谈最短路之——迪杰斯特拉(Dijkstra)算法
迪杰斯特拉算法复杂度为O(n^2),加入堆优化后可以优化到O((m+n)logn)的级别。主要适用于解决不含负边权的单源最短路。其基本思想是:记S为已找到源点的最短路的点的集合,V为不在集合S中的点的集合,用dis数组记录i到源点的最短路径长度,每次取V中w值最小的v加入S,更新dis的值,重复上述步骤直到所有点都在S中,这样dis[t]即为最短路径长度。 而我们发现,如果边...原创 2018-08-01 17:44:43 · 3179 阅读 · 0 评论 -
浅谈最短路之——Floyd算法
在所有最短路算法中,Floyd算法是最好写的一种,一共只有四排,但复杂度也达到了很大的O(n^3)。其思路就是DP,对于任意三个点a,b,c,a到b的最短距离为min(dis[a,b],dis[a,c]+dis[c,b]),所以三重循环枚举所有边得到最短路。 图示:由上图可见,如果a,b,c能构成一个三角形,那么dis[a,b]就一定优于dis[a,c]+di...原创 2018-08-01 21:28:44 · 306 阅读 · 0 评论 -
浅谈最短路之——Bellman-Ford和SPFA
最短路算法中,精确找到最短路最常用的办法莫过于Bellman-Ford以及其优化后的SPFA算法。 Bellman-Ford算法较Dijkstar算法可以应用于含负边权的图,对于一个图G(V,E),其中V为点集,E为边集,源点s,首先定义dis数组,dis[i]为i到s的最短距离。枚举每一条边(u,v),如果dis[u]+w[u,v]<dis[v],就更新dis[v]...原创 2018-08-02 18:42:18 · 835 阅读 · 0 评论 -
NOIP模拟 Minimum(最小生成树)
T2:Minimum【题目描述】 给出一幅由n个点m条边构成的无向带权图。 其中有些点是黑点,另外的是白点。 现在每个白点都要与他距离最近的黑点通过最短路连接(如果有很多个,可以选取其中任意一个),我们想要使得花费的代价最小,请问这个最小代价是多少。 注意:最后选出的边保证每个白点到黑点的距离仍然是最短距离。【输入格式】 第一行两个整数 n...原创 2018-08-03 10:20:37 · 270 阅读 · 0 评论 -
NOIP模拟 正直糖豆(最大流)
【描述】L为了准备他的正直模拟赛又发明了了一种“教授糖豆”,该糖豆会给服用的人增加一定的正直值。由于机房中N个人的接受能力是有现的,正直值过大会影响和谐,正直值过小又影响团结,所以学员I分到的糖豆的正直值P必须在范围MAXi,MINi之间,既MINi<=P<=MAXi。给出M种糖豆及每种的个数,以及机房中每个人可接受的的正直范围,求最多能有几个人同时得到合适的糖豆。每个人最多得到一...原创 2018-08-15 20:37:46 · 222 阅读 · 0 评论 -
NOIP模拟 Snow(最大流)
【题目描述】 有一天,TT 要去 ABC 家。ABC 的大门外有 n 个站台,用 1 到 n 的正整数编号,TT 需要对每个站台访问恰好一定次数以后才能到 ABC 家。站台之间有 m 个单向的传送门,通过传送门到达另一个站台不需要花费任何代价。而如果不通过传送门,TT 就需要乘坐公共汽车,并花费 1 单位的钱。值得庆幸的是,任意两个站台之间都有公共汽车直达。 现在给定...原创 2018-08-18 15:46:54 · 200 阅读 · 0 评论 -
网络流24题 搭配飞行员(最大流)
【题目描述】飞行大队有若干个来自各地的驾驶员,专门驾驶一种型号的飞机,这种飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员。由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞行,问如何搭配驾驶员才能使出航的飞机最多呢?P.S.因为驾驶工作分工严格,两个正驾驶员或两个副驾驶员都不能同机飞行。【输入格式】第一行,两个整数 n 与m,表示共有 n 个飞行员,其中有 m 名...原创 2018-09-26 11:49:41 · 518 阅读 · 0 评论 -
NOIP模拟 新的家园(毒瘤建图+最短路)
QAQ【题目分析】由题意可得:这个图是由一个环加几条环外边构成,那么将这个环拆成链后,整个图就由1~n首尾相连的边与一些链外边组成,我们发现,如果一个点的最短路被更新,只能通过链外边,所以我们将链外边的两端点设为特殊点,根据这些特殊点建图然后跑最短路,边的数量就大大减少,可以承受3w次的询问。然后考虑非特殊点如何加入子图,我们只需要将其与离其最近的两个特殊点连边即可,最后利用前向星进行...原创 2018-10-23 19:37:42 · 162 阅读 · 0 评论 -
洛谷3171 网络吞吐量(网络流)
t开成n结果cur赋值的时候也只赋值到t令人智熄【题目分析】好吧我承认这个错误真的呵呵。。。。。。。。题目有那~~~~~么长,然后画画图这道题就基本看出正解了,再一看数据范围,n<=500简直良心,好了,网络流没得跑了。因为按最短路进行传递,所以网络流的建图肯定是在最短路的基础上,所以先进行一次SPFA。考虑一条路如果加入网络流的图,那么这条路一定是在最短路上,dfs一次...原创 2018-10-25 11:57:07 · 156 阅读 · 0 评论 -
洛谷2472 蜥蜴(网络流)
传送门【题目分析】令人智熄的字符串读入操作。。。。。在BZOJ上过了然后氵谷全T?emmm。。。。。。网络流的题难点就在于建图,这道题还是比较明显,首先每个点还是要拆点限制流量,上限设为石柱高度表示最多可以跳过这么多蜥蜴。建立一个起点s和终点t,每个有蜥蜴的石柱对应的入点就和起点s连接,s与入点间的弧容量为1(含义是该石柱只能有一个蜥蜴,如果容量大于1,就有可能在跑最大流时出现一个...原创 2018-10-25 15:49:29 · 150 阅读 · 0 评论 -
BZOJ2238 mst(最小生成树+树链剖分)
传送门【题目分析】树剖好题。首先按题意做出最小生成树,如果做不出,那么所有询问都是"Not connected"。同样,如果删的是非生成树上的边,对答案不会造成影响,直接输出最小生成树的权值即可。那么考虑生成树上的边被删的情况:很明显,对于一个环上的所有边,如果删掉一条,剩下的点仍然会保持联通。所以这个环上的所有边都是可以互相替代的。按照这个思路,我们将所有非生成树...原创 2019-01-21 10:55:05 · 467 阅读 · 0 评论 -
洛谷3355 【网络流24题】骑士共存问题(最小割)
传送门【题目分析】首先我们将整个棋盘按平常的样子染为黑白两色。然后就会发现,骑士跳跃方式是走到一个异色的点。所以整个棋盘就被划分为一个二分图,一半为黑色一半为白色。很明显每个白点向可以跳到的黑点连边,然后跑个最小割,最后用可以放的地方-最小割即可。至于连边,因为数据规模不大,直接暴力连就行了。【代码~】#include<bits/stdc++.h>u...原创 2019-01-23 11:12:17 · 199 阅读 · 0 评论 -
洛谷3163 【CQOI2014】危桥(最大流)
传送门【题目分析】这题这么魔性的吗qwq。如果只有一个人的话就很灵性,直接源点连出发点容量2*an,终点连汇点容量2*an,考虑到边是无向的所以直接按题意连边然后跑最大流判是否满流就行了。结果我以为两个人也可以这样。。。结果WA的30pts。。。。看了看网上的题解发现,如果两个人这样做可能会导致从a1流出的流最后流向了b2,这样显然是非法的。解决的办法也很灵性,交换b的起点...原创 2019-01-26 10:40:26 · 154 阅读 · 0 评论 -
洛谷4311 士兵占领(最大流)
传送门【题目分析】又是一道魔性的网络流。。。。考虑会导致“JIONG!”的情况,无非就是当前这一行(列)需要的士兵个数<可放置士兵个数,所以在读障碍的时候记一下影响的行和列,然后与每行每列最少需要的士兵进行比较即可。然后考虑如何寻求答案。很明显,可以将问题转化为最多可放士兵数-最多可不用士兵数,就可以得到最少使用士兵数。每一行可不用的士兵数最多为l[i]-need1[...原创 2019-01-26 14:37:36 · 459 阅读 · 0 评论 -
洛谷3425 【POI2005】KOS-Dicing(最大流+二分)
传送门【题目分析】真的跪了qwq。。。为什么数组开小他竟然TLE。。。。我还以为是代码问题呢结果。。。。(很脏的话)既然题目都要求你去找最多的最少,那肯定是二分答案了。关键在于怎么进行check。假设我们现在二分出一个x表示赢的最多的赢了x次,那么我们像所有玩家连一条容量为x的边对赢的次数的限制,每场比赛的两个人向这场比赛连容量为1的边,比赛向汇点连容量为1的边,这样就限制了一...原创 2019-01-26 16:02:36 · 252 阅读 · 0 评论 -
洛谷2805 【NOI2009】植物大战僵尸(最大权闭合子图)
传送门【题目分析】ah,犯了一个sb的错误qwq。很明显,如果要吃一个植物,必须满足两个条件:1.右边的植物被吃完。2.保护它的植物被吃完。这就类似拓扑序了,所以我们可以利用这种拓扑关系连边。然后最后整个图要求的就是最大权闭合子图了。什么是最大权闭合子图?就是带点权的DAG的一个子集,没有从子集指出的边,点权和最大的一个子集就是最大权闭合子图。关于这个最大权闭合...原创 2019-01-26 20:48:53 · 343 阅读 · 0 评论 -
洛谷2604 【ZJOI2010】网络扩容(最大流+费用流)
传送门【代码~】为什么我的常数又这么大。。。。第一问就是一裸的最大流,应该不用说了吧。。。。第二问一开始我的想法是在残留网络上新建一个t->T容量为k费用为0的边然后跑费用流。。。。然后。。。。他死了。。。。(不过竟然有90pts真是服了)因为跑最大流的时候很有可能把两点之间费用最小的那条路跑满,在残留网络中他就不会出现,所以咕咕。所以直接重新建一次图,两点之...原创 2019-01-27 10:18:12 · 196 阅读 · 0 评论 -
POJ1422 Air Raid(最小路径覆盖)
传送门【题目分析】补一补老早以前的坑。。。。题意很简单,给出一个DAG,问用最少路径覆盖DAG数量。直接拆点跑最大流,一个匹配表示可以减少一条路径,最后用n-最大匹配即可。【代码~】#include<iostream>#include<cstdio>#include<cstring>#include<queue>us...原创 2019-01-27 11:24:23 · 164 阅读 · 0 评论 -
洛谷3329 【ZJOI2011】最小割(最小割树+分治)
传送门【题目分析】这种出题人。。。。emmm。。。。一图以蔽之。然后。。。。。拖出去阿了我嘞个去图论题你连条边都不给我让我怎么玩????这是我见过最牛逼的图论题了。。。调了一个下午+一个晚上硬是调不出来,蛋疼。。。。首先这道题肯定不会傻fufu的跑n^2次最小割,因为。。。算了直接开花。但不用最小割。。。emmm。。。反正我也不会啊,所以就考虑减小最小割次数...原创 2019-01-27 21:28:40 · 304 阅读 · 0 评论 -
第一届“文翁杯”现场竞技赛 T6 障碍(最短路树)
传送门【题目分析】调了一晚上的题qwq。。。%%%zxy原创题啊tql%%%先说说最短路,由于出题人极为毒瘤,他既卡了SPFA又卡了堆优化的dij(反正我也没写qwq堆优化只有10pts来着?),考虑一个点可能被多次松弛,所以堆里可能会有许多无用状态,所以只要卡卡这个堆的大小高度就会让一次操作的复杂度接近n但不满,所以考虑一个稳定复杂度的算法就是用set去代替堆。然后考虑答案的统计...原创 2019-01-30 21:32:06 · 203 阅读 · 3 评论