图
HHeyanjie
抱怨没有用,一切靠自己
展开
-
最小费用最大流
模板题. 最大流模板题——传送门. 听名字就可以看出,要在满足最大流的同时找到达成最大流的最小费用。 我们用每条边单位流量的花费作为边权,假如一条合法路径上每条边的花费分别为 cost[1],cost[2],…c[k] , 并且这条边上的最小流量为flow,那么这条路径上的花费为 : c[1] * flow + c[2] * flow + … + c[k] * flow = (c1+ c2 + c3 + … + ck)* flow = dis [ci] * flow 所以dis[ci]最小就是相当于最短路原创 2020-08-07 15:50:29 · 325 阅读 · 1 评论 -
谈恋爱问题
假如有n个帅哥,每个帅哥有m个的理想女友,他们只想与这m个美女中的其中一个谈恋爱,请问最多能出现几对情侣?????????????????????? 比如: A喜欢 a b B喜欢 a c 那么就让A和c在一起 B和a在一起,就可以出现两对 这种问题叫二分图的最大匹配,用匈牙利算法求解。 最小顶点覆盖数 = 最大匹配 最大独立集数 = 最小路径覆盖数 = 节点数 - 最大匹配 #include <bits/stdc++.h> /*最小顶点覆盖数 = 最大匹配 最大独立集数 = 最小路径原创 2020-08-02 14:29:42 · 216 阅读 · 0 评论 -
dfs + 最短路
传送门 TP. 题意 阿达莱王国有n座从1到n的城市。由于交通便利,任何两个城市之间都有一条双向公路。东京泽住在第一城。魔术师克拉丽斯住在n市,由于考试马上就要举行了,东京希望尽快营救CJB,所以她会选择最短的路径到达n市。 克拉里斯也听到了这个消息,害怕受到惩罚,所以他决定通过在他选择的k条道路上进行爆炸,使这些道路失去双向运输的能力,从而使德川泽慢下来,因为这可以为他有足够的时间准备对付东崎的强大魔法铺平道路。 德松子知道一些道路会被摧毁,并能立即识别出它们在哪里,但她没有办法阻止这次爆炸,所以她选择在原创 2020-07-29 18:37:41 · 552 阅读 · 1 评论 -
链式前向星
个人理解:把同起点的每条边用next链起来,head数组存每个起点的最后一条加入的边的编号 链式前向星用了单链表头插法的思想,所以在遍历一个点连接的边的时候,先加入的边后访问。 自行画图理解 #include <bits/stdc++.h> using namespace std; struct edge{ int to; //该边指向的点 int next; //以u为起点的上一条边的编号 int w; //权值 }e[500]; int cnt = 0; //边的编号 int he原创 2020-07-23 09:15:06 · 192 阅读 · 0 评论