题目传送门 解题思路: 先Floyd一遍,求出每个点到其他任意一个点的距离,再暴力更新以每个点为源点的最短路.这题数据范围好水 AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 5 using namespace std; 6 7 int n,a[101],dist[101][101],sum[101],ans =
标题名字乱取的,吐槽一下《初等数论初步》的命名。 1 网络流的概念 1.1 引入 “分配”是生产生活中一类常见的问题。如何分配才最好,是一个有技术含量的问题。 对于“分配最优”的问题,动态规划是一种有效的解决方法。但是,有些分配无法描述出一个准确的“决策”“状态”“阶段”轮廓。
差分约束系统 前言:在清北学堂模拟赛的差分约束题写炸了,感觉有必要来总结一下差分约束 问题模型 求解由若干不等式限制的一组最大或最小未知数解 思想 当我们求解形如X1-X2<=d的问题时,我们会发现将式子变化为X1<=X2+d和最短路问题里的三角不等式dis[u]<=dis[v]+w极为相似,故我们可
问题描述 假设你是一个想环游世界的穷孩子,现在好不容易攒了些钱,想要去很多城市。但是由于资金有限,你得尽量找便宜的交通方式。但有的城市从你家根本不能直达,有些城市你从家坐高铁就能直达,有些城市从你家到那里只有飞机。现在你知道了许多城市之间的交通费,想要到目的地去,除了直达
bellman算法中对于负权重环路的判断依据是:松弛完成后,遍历全部有向边,若发现某边终点到源点的最短路径(以下简称边终点)v.d大于边起点到源点路径u.d(以下简称边起点)与边权重w之和,即v.d>u.d+w,则说明原图存在负权重环路,单源最短路径不存在. 如何理解v.d>u.d+w? 回顾我们松弛的条
<题目链接> 题目大意: 有n座城市,每一个城市都有一个听演唱会的价格,这n座城市由m条无向边连接,每天变都有其对应的边权。现在要求出每个城市的人,看一场演唱会的最小价值(总共花费的价值=所看演唱会的价值+该城市的人去那个城市看演唱会的往返距离之和)。 解题分析:比较好的一道最短路题
图片内容并非原创,来自巨神学长 最大流 设G(V,E)为一个有向图,它的每条边<u,v>都被赋予了一个非负的实数c作为边的容量,记为c(u,v)。网络流 (network flow)指为这个有向图分配流并且使得它每条边上的流量都不能超过这条边的容量。 在运筹学中,有向图称为网络,边称为弧(arc)。在这个有向
流网络 $G=(V,E)$是一个有向图, 每一条边$(u,v)\in E$均有一个非负容量$c(u,v)\ge 0$, 对于不存在的边$(u,v), c(u,v)=0$. 并且包含两个特殊顶点: 源点$s$和汇点$t$. 流网络$G$的流是一个函数$f:V\times V\rightarrow \mathbb{R}$, 满足以下三个性质 流量限制: 对于所有的 $u,v \i
题面 一道特别棒的费用流好题,思路非常巧妙 对于每一天,我们分为早上和晚上两个节点 每天早上会消耗\(r_i\)条干净的毛巾,可以视为流向汇点,所以我们向汇点连一条流量为\(r_i\),费用为\(0\)的边 每天晚上会产生\(r_i\)条脏毛巾,可以视为从源点流出,所以我们从源点连一条流量为\(r_i\),费
题意: 小明升任了 CF 国的大总管,他管辖的 n 个城市,编号为 1..n。每个城市生产了 pi 个货物,限制最多可以卖掉 si 个货物。对于每两个城市 i, j,如果 i < j,则可以最多从 i 运送 c 个货物到 j。注意不能反向运送,却可以在多个城市之间送来送去。现在小明想知道,经过运输后,最多能卖掉多
题目: 在上一篇博客的基础上,这是另一种方法求最短路径的问题。 Dijkstra(迪杰斯特拉)算法:找到最短距离已经确定的点,从它出发更新相邻顶点的最短距离。此后不再关心前面已经确定的“最短距离已经确定的点”。 Dijkstra算法采用的是一种贪心的策略,声明一个数组dis来保存源点
洛谷传送门 LOJ传送门 做这道题之前建议先看这篇论文,虽然论文里很多地方用了很多术语,但hbt神犇讲得很明白 这篇题解更加偏向于感性理解 把问题放到二分图上,左侧一列点是实验,权值为$p[i]$,右侧一列点是仪器,权值为$c[i]$,左侧向右侧连接了许多条出边 如果想获得$p[i]$,需要保证i的所有出
Part 1 一个网络流正在流动。 现在任意割断它,分成源点所在的S点集、汇点所在的T点集。 除了源点,其它点都没有实际输出, 除了汇点,其它点都没有实际获得, 所以,S到T的净输出 = 源点的输出 = 总流量。 所以,网络中任意一个割的净流 = 网络当前的总流量。 因为割的净流 <= 这个割的容量(显然