IT民工
加油!
摘要: http://poj.org/problem?id=1325做的第一道二分图匹配的题,应该说代码是很基础的,但是建模确实需要一定的技巧。这也是黑书上的一个例题,将每个任务看成一条边,把A机器的每个模式看成一个X结点,B机器的看成Y结点。任务i为( ai, bj)。这道题求的是最少的点,让每条边都至少与其中一个点关联。这里有一个结论,这个最少点数就是最大匹配数M,黑书的证明如下:(1) M个是足够的。只需要让它们覆盖最大匹配的这M条边,则其他边一定被覆盖 (如果有一条边e不被覆盖,把e加入后得到一个更大的匹配)(2) M个是必需的。仅仅考虑形成最大匹配的这M条边,由于它们两两无公共点, ... 阅读全文
posted @ 2012-08-06 17:02 找回失去的 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题意是给A和B发糖果,B的糖果数–A的糖果数<=c,也就是B<=A+c,最后求n比1最多多几个糖果。题目只有这一个约束条件,建图不难。将AB看成有向图的边,然后c看成边的权值,转化成最短路来求解,大牛们都说了SPFA+queue会超时,所以用了SPFA+stack。因为这道题没有负权的边,也可以用堆优化的dij来求这个最短路。SPFA + Stack/*Accepted 2396K 532MS C++ 1363B 2012-08-06 15:32:00*/#include<cstdio>#include<cstring>#include<cstdlib 阅读全文
posted @ 2012-08-06 15:34 找回失去的 阅读(242) 评论(0) 推荐(1) 编辑
摘要: 题意是有N头牛,其中有ML对是相互喜欢的,它们之间不能超过一个距离,有MD对是互相不喜欢的,它们的距离不得少于D。在ML中a,b,c分别代表两头牛的编号和最大距离,有a,b中max–min<=c。而在MD中则反过来min-max<=-c.即max<=min+c,min<=max-c.根据这个条件建图,然后求出第一头牛到第n头牛的距离,如果存在,输出这个距离,如果存在负圈,输出-1,不存在答案输出-2./*Accepted 280K 47MS C++ 1803B 2012-08-06 14:53:35*/#include<stdio.h>#include< 阅读全文
posted @ 2012-08-06 14:08 找回失去的 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 这里也要建立<=差分约束系统,判断消息是否可靠看的是建立的图是否存在负圈。如存在则不可靠,不存在则可靠。建立<=的差分系统:由于P A B X 指“确定A到B的距离(边权)为X”从P A B X得到的差分系统为dist[A] - dist[B] >= X && dist[A] - dist[B] <= X 等价于dist[B] <= dist[A] - X && dist[A] <= dist[B] + X则if(dist[B] > dist[A]-X)松弛:dist[B] = dist[A]-X由于 V A B指“只知 阅读全文
posted @ 2012-08-06 13:13 找回失去的 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 做的第一个差分约束的题。读完题后一脸茫然,不会建图。看了算法导论,其实这是一个建立<=差分约束系统的过程。设s[x]=从0到x的所有在集合中的数的个数,则ai到bi的个数即S[bi]-S[ai-1]。因此有:(1)S[bi]-S[ai-1]>=ci。 又根据s[x]本身的性质,后面的一定不比前面的小,后面的最多比前面多一,有:(2)s[i+1]-s[i]>=0(3)s[i+1]-s[i]<=1根据这三个约束条件建图,使图中每一组边,均满足:S[ai-1]<=S[bi]-ciS[i]<=S[i-1]+1S[i-1]<=S[i]建完图,用Bellman-F 阅读全文
posted @ 2012-08-06 13:08 找回失去的 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 看到一个快速幂取模的模版,挺好用的,为了避免中间过程超int,我全部用longlong。#include<stdio.h>#include<string.h>#include<stdlib.h>typedef long long LL;const LL c = 10007;LL a, b;LL exp_mod(LL a, LL b, LL c){ LL r = 1; if(a > c) a %= c; while(b) { if(b & 1) r = (r * a) % c; a = (a * a) % c; b >>= 1; .. 阅读全文
posted @ 2012-08-06 09:39 找回失去的 阅读(231) 评论(0) 推荐(0) 编辑