自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bo-jwolf的专栏

不求最强,但求无悔!!!

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 Girls and Boys

点击打开链接二分图匹配,hopcroft-karp#include#include#include#includeusing namespace std;const int MAXN = 5010;const int MAXM = 50010;struct Edge{ int to, next;}edge[ MAXM ];int head[ MAXN ], to

2014-07-26 19:53:59 1140

原创 A new Graph Game

点击打开链接题意:给你一张N个节点的无向图,然后给出M条边,给出第 I 条边到第J条边的距离。然后问你是否存在子环,如果存在,则输出最成环的最短距离和解析:构图:选定源点及汇点,然后将源点至个点流量置为1,花费置为0.然后使用最小费用流,当返回值流量和,即flow 其余和tour一样求法,处理一下某两点距离为最短距离即可。#include#include#include#

2014-07-21 21:51:09 1354

原创 Tour

点击打开链接题意:在一个王国有N个城市,M条路。选择N条路,构成一个环路。求出最小距离。解析:构图,最小费用最大流。将源点和终点至个点花费记作0,然后将所有路径流量记作1或同一值。#include#include#include#includeusing namespace std;const int maxn = 10000;const int maxm = 100

2014-07-21 19:06:15 1175

原创 Going Home

点击打开链接题意:在一张N * M 的图中,有 n个房子和n个人。问最少使用多少总步数让每个房子都有且仅有一个人.解析:构图。选取源点和汇点,从源点到人连通,费用为0(因为题目要求的是人到房子的费用)。以第i个人与第j所房子的距离作为当前费用进行构图,由于题目并不需要求出最大流( 也没给出来),因此所有连通路径的流量设置为一个相同的权值即可。然后使用费用流求出最小费用。#inclu

2014-07-21 12:27:19 1413

原创 Pleasant sheep and big big wolf

点击打开链接题目:在一个N * M 的矩阵草原上,分布着羊和狼,每个格子只能存在0或1只动物。现在要用栅栏将所有的狼和羊分开,问怎么放,栅栏数放的最少,求出个数?解析:将狼群看作一个集合,羊群看作一个集合。然后设置源点和汇点,将两点至存在动物的点的距离赋值为1,构图,由于求得是栅栏数,从存在动物的位置向四周发散点赋值为1,即该方向放置一个栅栏。然后可以发现变成了求最小割,即求出最大流。

2014-07-18 12:42:20 1197

原创 Task Schedule

点击打开链接题意:某个工厂有M台机器,需要完成N项任务。给出每项任务的完成时间PI,开始时间SI,结束时间EI;现在问你能否在刚好完成(一次);解析:以时间为单元构图,即将完成某一任务 I ,所需要时间PI,拆分成PI个单元1.然后设置源点s( 0 )和终点t( n + maxday + 1 ).那么从源点到完成第i个任务则其权值为完成当前任务所需要的时间PI。然后从当前任务 i 与其完成

2014-07-17 16:48:56 1029

原创 昂贵的聘礼

点击打开链接题意:略解析:枚举等级,Dijkstra#include#include#includeusing namespace std;const int maxn = 1005;#define INF 0xfffffffint mapp[ maxn ][ maxn ], num[ maxn ][ maxn ], vis[ maxn ], dis[ maxn

2014-07-16 16:05:36 1037

原创 Drainage Ditches

点击打开链接题意:有一个池塘因为下雨,通过修通渠道来排水,怎么排的水最多?解析:经典最大流,通过改变容量,来减少流量的使用,实现了空间优化#include#include#include#include#includeusing namespace std;const int maxn = 1005;#define INF 0xfffffffint n, m, u

2014-07-15 19:20:22 857

原创 Asteroids

点击打开链接题意:某人想实现太空旅行,可以通过空洞实现,而它们的连通方式就是一张n * n的矩阵;现在有一种武器,可以一次性消灭它的一行或者一列(意思就是相当于留下一条可行路)。解析:利用匈牙利算法实现,二分图匹配#include#include#include>using namespace std;const int maxn = 1005;int mapp[ max

2014-07-15 09:56:17 879

转载 二分图的最大匹配 (匈牙利算法)

zhu1、二分图、最大匹配什么是二分图:二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。 什么是匹配:把上图想象成3男4女搞对象(无同性恋),连线代表彼此有好感,但最终只能

2014-07-15 09:49:42 594

原创 Arbitrage

点击打开链接题意:货币兑换,换取最大钱币;解析:构图,spfa#include#include#include#include#includeusing namespace std;const int maxn = 1005;double cost[ maxn ][ maxn ], dis[ maxn ];int vis[ maxn ];int n, m;c

2014-07-14 14:58:36 852

原创 一个人的旅行

点击打开链接题意:有n条村落连接线路,给你m个草儿附近的村落,在给出t个草儿想去的地方。从草儿附近的村落出发到她想去的地方所有线路中的花费时间最少的一个。解析:多源多点最短路,暴力枚举#include#include#includeusing namespace std;const int maxn = 1005;const int Max = 0xfffffff;i

2014-07-13 19:59:51 799

原创 最短路径问题

点击打开链接类似A strange lift的写法,之前一直返回RE,感觉有点不科学,数据较小。后来看discuss,居然输入还要考虑去重。题意:略;解析:最短路问题,但是有两种情况,因此需要根据具体情况来考虑。我采用的是构造两张图,然后在使用Dijkstra中将dis与cost放在一个结构体中,便于理解。其它就是A strange lift的一点变形#include#inc

2014-07-13 18:22:34 727

原创 A strange lift

点击打开链接题意:有n层楼层,现在在每一层有两个按钮,分别为up和down,按动按钮时,可以向上或向下跳动num[ i ]层;问能否以最少的次数从A到B层,不能输出-1;解析:构图,将从i层到按动按钮后跳转的楼层,看作连通状态,赋值为1,这样就转换成单源最短路问题;#include#include#includeusing namespace std;const int m

2014-07-13 16:33:26 1092

原创 Trie树

字典树查询#include#include#includeusing namespace std;const int maxn = 30;typedef struct Trie{ int v; Trie *next[ maxn ];}Trie;Trie root;void CreateTrie( char *str ){ int len = strlen( st

2014-07-13 11:57:25 1132

原创 移动

点击打开链接bfs,手贱,vis标记,将y1写成x2,各种改bug#include#include#include#include#includeusing namespace std;const int maxn = 305;int vis[ maxn ][ maxn ];int x1, y1, x2, y2;struct node{ int x, y, step

2014-07-12 16:57:51 704

原创 Pet

点击打开链接bfs,需要自己构图#include#include#include#include#includeusing namespace std;const int maxn = 100005;int dep[ maxn ];int vis[ maxn ];int pre[ maxn ];vectormapp[ maxn ];void Bfs( int

2014-07-12 13:23:45 799

2013年蓝桥杯辅导资料

2013年蓝桥杯内部购买资料,包括参考例题上面均有

2013-04-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除