YunYan

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 2 3 4 5 6 7 ··· 37 下一页

2020年7月24日

摘要: 题目大意:N头牛,F个食物,D个饮料。每一个食物和饮料只能分享给一头牛,每一头牛也最多获得一个饮料和一个食物,问最多有几头牛可以同时获得一个食物和一个饮料? 这是一个典型的最大流问题。难点在于建图,建完图就是最大流裸题了。 关于见图。 每头牛都有喜欢的食物和饮料,首先看对牛与食物和牛与饮料分别被建边 阅读全文
posted @ 2020-07-24 15:45 Target--fly 阅读(117) 评论(0) 推荐(0) 编辑

2020年7月23日

摘要: 题目连接 题目大意:一个n*n的太空矩阵,其中有m个地方存在小行星,有一种武器,该武器可以发射光束,这种光束可以一次性消灭一行或者一列小行星。问:消灭所有的小行星,最少需要多少发光束。 题解:这个题目咋一看看不出来是二分图的题目。设有小行星位于(x,y)。那么可以对x行发射光束,也可以对y列发射光束 阅读全文
posted @ 2020-07-23 15:55 Target--fly 阅读(147) 评论(0) 推荐(0) 编辑

摘要: 最小费用流最大流问题指的是在一个网络流网络中,每条边有两个权值,分别指的是该边的流量上限和流入流量需要的费用。问当流入的流量为f时,最少需要多少的费用。这中问题称为最小费用流问题,当f=最大流时,称为最小费用流最大流问题。 最小费用流最大流:(洛谷的一个模板题) code: #include<bit 阅读全文
posted @ 2020-07-23 14:52 Target--fly 阅读(326) 评论(0) 推荐(0) 编辑

2020年7月22日

摘要: 一个讲的不错的blog 模板code: vector<int>ve[N]; bool mark[N]; int girl[N]; bool find(int x){ for(int i=0;i<ve[x].size();i++){ if(!mark[ve[x][i]]){ mark[ve[x][i] 阅读全文
posted @ 2020-07-22 13:41 Target--fly 阅读(131) 评论(0) 推荐(0) 编辑

2020年7月17日

摘要: dicnic算法求最大流。 dicnic算法就像是对F-F算法的一个优化,F-F算法是无脑求增广路径,直到求不出来路径为止。 比如说这个图,求从1~4的最大流量,很显然应该是200,路径1--2--4和路径1--3--4。但是如果FF算法第一次走的路径是1--2--3--4,那么这条路径的流量就变成 阅读全文
posted @ 2020-07-17 21:56 Target--fly 阅读(313) 评论(0) 推荐(0) 编辑

摘要: EK算法是解决最大流问题常用的算法之一,复杂度优于FF算法。EK算法的思路和FF算法是一样的。不同之处是EK算法通过广搜寻路,FF算法深搜寻路。 EK算法的具体步骤: 首先是存图,可以采用邻接矩阵直接存,这种存图方式是比较简单的,后面更新残余网络也比较容易,但是空间复杂度比较高,不实用。 另外一种存 阅读全文
posted @ 2020-07-17 17:35 Target--fly 阅读(265) 评论(0) 推荐(0) 编辑

2020年7月16日

摘要: 看了一个下午的最大流问题,首先要明白最大流是用来干嘛的。直观来说,流就像它的名字一样,从源头s运送一些“东西”到汇聚点t,比如下水道系统运输水流,公路网络运输车流。最大流就是求运输的“东西”的最大值。在运输的过程中,每条边都要有个权值c(i,j),用来表示的是该边i-->j的可以承受的最大运输量。 阅读全文
posted @ 2020-07-16 19:26 Target--fly 阅读(572) 评论(0) 推荐(0) 编辑

2020年7月15日

摘要: 题目链接 题解: 1 直接排序。 最简单的方法,放到一维数组中,直接排序,时间复杂度为o((n^2)log(n^2)),空间复杂度为o(n^2),如果n>=1e4就会超时。 代码略: 2 堆排序。 这种方法是很一个很巧妙的方法。充分用到了矩阵的每一行和每一列都是有序的。首先将第一列放到堆中,然后取出 阅读全文
posted @ 2020-07-15 16:14 Target--fly 阅读(165) 评论(0) 推荐(0) 编辑

2020年7月14日

摘要: 归并排序是众多排序方法中比较稳定的一种排序。时间复杂度是o(nlogn),是一种较优的排序方法。 归并排序是一种典型的分治法,其基本思想就是将大区间划分为小区间,先对小区间进行排序,然后在通过两个有序的小区间归并为一个有序的大区间。首先对待排序数组以二叉树的形式进行分割; 比如说对数组[5,4,3, 阅读全文
posted @ 2020-07-14 11:30 Target--fly 阅读(221) 评论(0) 推荐(0) 编辑

2020年7月13日

摘要: 以leetcode上的一个题目为例子。 连接 解题思路: 举个例子。word1 = abcd word2=abce.将word1变为word2.假设我们均考虑到第4个字符,d!=e, 直接替换 也就是前三个字符需要的次数+1。 把d删除掉,让第三个字符c和word2的第四个字符匹配,在d的后边添加一 阅读全文
posted @ 2020-07-13 15:04 Target--fly 阅读(150) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 37 下一页