上一页 1 ··· 83 84 85 86 87 88 89 90 91 ··· 182 下一页
摘要: 无算法,但有些麻烦View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxl 100#define eps 10E-9char st[maxl];char unit;double fat;double tot;void input(){ int temp; char ch; sscanf(st, "%d%c", &temp, &ch); boo 阅读全文
posted @ 2011-08-28 11:07 undefined2024 阅读(202) 评论(0) 推荐(0)
摘要: 匈牙利算法View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define MAXN 205int uN, vN;bool g[MAXN][MAXN];int xM[MAXN], yM[MAXN];bool chk[MAXN];bool SearchPath(int u){ int v; for ( v= 0; v < vN; v++) if (g[u][v] && !ch 阅读全文
posted @ 2011-08-28 09:49 undefined2024 阅读(181) 评论(0) 推荐(0)
摘要: 题意: 有 M 个猪圈,每个猪圈里初始时有若干头猪。一开始所有猪圈都是关闭的。依次来了 N 个顾客,每个顾客分别会打开指定的几个猪圈,从中买若干头猪。每个顾客分别都有他能够买的数量的上限。每个顾客走后,他打开的那些猪圈中的猪,都可以被任意地调换到其它开着的猪圈里,然后所有猪圈重新关上。分析: 此题是... 阅读全文
posted @ 2011-08-27 18:51 undefined2024 阅读(2022) 评论(0) 推荐(1)
摘要: 最大流View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define N 505#define E 1005#define inf 0x3f3f3f3f#define maxl 35struct edge{ int x, y, nxt; int c;} bf[E];int ne, head[N], cur[N], ps[N], dep[N];char name1[N][maxl], name2 阅读全文
posted @ 2011-08-27 16:48 undefined2024 阅读(241) 评论(0) 推荐(0)
摘要: 题意:给定n、m,求1~n的一个排列,逆序数对数为m,且该排列的字典序最小。分析:若逆序数对数为m,则每个数右侧比其大的数的个数之和应为k=n*(n-1) - m(正序数对数)。我们可以想象,如果把k拆分成若干个数字的和,并把这些数字随意分配给n个位置,来代表该位置右侧比该位置上的数字大的数的个数,那么这定能构成一个逆序数对数为m的排列。若想要字典序最小那么就要尽量把小的数往前放。小的数也就是其右侧比其大的数较多的数。如果用拆分k的方法,则应该给第一个位置分配最大的数,然后给第二个位置分配最大的数……然而每个位置分配的数是有限制的,因为对于位置i其右侧有n-i个数,也就是最多只能有n-i个数比 阅读全文
posted @ 2011-08-27 12:59 undefined2024 阅读(414) 评论(0) 推荐(0)
上一页 1 ··· 83 84 85 86 87 88 89 90 91 ··· 182 下一页