上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 30 下一页
摘要: #include #include #include using namespace std; const int maxn = 32; const int INF = 99999999; int map[maxn][maxn],n,m,dis[maxn][maxn]; int max(int x,int y) { return x>y?x:y; } int floyd() { ... 阅读全文
posted @ 2015-10-13 22:30 sweat123 阅读(172) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include #include using namespace std; struct node { char s[60]; int v; int flag; int cou; }a[300]; bool cmp(node fa,node fb) { if(fa.v!=fb.v) ... 阅读全文
posted @ 2015-10-13 22:30 sweat123 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 因为行可以了,那列就不行,所以根据行列建立最小割模型。 然后这题精妙之处在于把乘法取对数后转化为加法,瞬间就简单了。 保证精度,C++AC ,16MS G++WA。 阅读全文
posted @ 2015-10-11 22:44 sweat123 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 最大流之后S集合与T集合不在相连,即s不能到达T中的点。 对于同一个模块,Ai,Bi,Ai与源点相连,Bi与汇点相连。不同CPU间消耗的模块,相连。 由于最后模块只能在一个CPU中运行,所以要么与源点相连,要么与汇点相连,所以可看做最小割模型。 我原来的Dinic模板,不是多路增广,所以超时。然后向 阅读全文
posted @ 2015-10-11 16:33 sweat123 阅读(417) 评论(0) 推荐(1) 编辑
摘要: 对于欧拉回路,先判断出度入度的差是否为偶数,然后最大流一次。 此题是判断有无欧拉通路,前提要判断图是否连通,然后欧拉通路的条件:要么出入度差没有奇数,或者只有2个点。 所以先统计差为奇数的个数,如果不为0或2,不可能。然后如果为2,表示可能使欧拉路,所以此时可以将这两个点相连,类似添加一条无向边。然 阅读全文
posted @ 2015-10-11 15:15 sweat123 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 欧拉路:经过所有路有且仅有1次,可以路过所有的点。 无向图: 图连通,所有点都是偶数度,或者只有两个点是奇数度。当所有点是偶数度时欧拉路起点可以是任意点;当有两个奇数度点时起点必须是奇数度点。 有向图: 图连通,所有点出度=入度,或者有一个点入度-出度=1,有一个点出度-入度=1。同样,当所有点出度 阅读全文
posted @ 2015-10-10 10:32 sweat123 阅读(214) 评论(0) 推荐(0) 编辑
摘要: RMQ预处理最大值,最小值,然后对于每一点,二分可能满足的区间长度,长度-1就是该店开始的区间满足的个数。 阅读全文
posted @ 2015-10-08 22:31 sweat123 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 比较简单。 阅读全文
posted @ 2015-10-08 14:23 sweat123 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 题意:F块草坪,上面有n头牛,可以容纳m个牛遮雨。将草坪一份为2,成为二部图。 对于此题,和poj2112很像,只是2112很明显的二部图。这道题就开始敲,但是建图遇到问题,草坪的2个值怎么处理,于是将1个草坪分成2分,一份与源点相连,值为牛的个数, 另一份与汇点相连表示可以留下多少牛,由于是一个草 阅读全文
posted @ 2015-09-25 00:06 sweat123 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 多源多汇。 比较明显的建图。对于电器,可以从源点与各个电器相连,容量为1,表示这个电器有1个,然后对于各种接头,那可以各个接头与汇点相连,容量为1,表示每个接头只能用一次。 然后对于能够相互转换的接头,其容量为无穷,文中写到转换器可以无穷使用。然后对于电器和其使用的接头,相连,容量为1表示该电器使用 阅读全文
posted @ 2015-09-24 15:35 sweat123 阅读(236) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 30 下一页