上一页 1 ··· 96 97 98 99 100 101 102 103 104 ··· 182 下一页
摘要: 题意:牛之间有绝对的强弱,给出一些胜负关系,问有多少头牛可以确定其绝对排名。分析:有人说叫闭包传递。这题就是用一种类似于floyd的算法,开始时,如果a胜b则由a到b连一条边。这样所有a能走到的点都是排名在a以后的。所有能走到a的点都是排名在a以前的。用floyd,求出每个点能到达的点。如果有一个点,排名在它之前的和排名在它之后的点之和为n-1,那么它的排名就是确定的。View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using na 阅读全文
posted @ 2011-07-26 20:23 undefined2024 阅读(1047) 评论(0) 推荐(1)
摘要: 简单题快速幂View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;long long a, p;long long power(long long a, long long n){ long long ret = 1; for (long long m = a; n > 0; n >>= 1, m = m * m % p) if (n & 1) ret = ret * m 阅读全文
posted @ 2011-07-26 19:34 undefined2024 阅读(201) 评论(0) 推荐(0)
摘要: 最小生成树View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>using namespace std;#define maxn 1005#define inf 0x3f3f3f3fstruct Point{ long long x, y;} point[maxn];int n, m;long double cost[maxn][maxn];int vis[maxn];long double l 阅读全文
posted @ 2011-07-26 19:05 undefined2024 阅读(224) 评论(0) 推荐(0)
摘要: 简单题View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 55int vis[maxn][maxn];bool map[maxn][maxn];int n, r, sx, sy;int dir[4][2] ={{ 1, 0 },{ 0, -1 },{ -1, 0 },{ 0, 1 } };void input(){ scanf("%d%d", & 阅读全文
posted @ 2011-07-26 16:12 undefined2024 阅读(334) 评论(0) 推荐(0)
摘要: 题意:一些圆台形(中空,厚度忽略不计)的碗,罗在一起,问最小高度是多少。分析:枚举所有情况,每放一个碗,就要记录其碗底的高度。记录碗底高度的方法是,枚举下面所有的碗,把想象中把这个碗与下面的碗直接叠放在一起,看碗底的高度,取最大值,得到这个碗底的真实高度。每次罗起了所有的碗,就根据每个碗碗底的高度计算其碗顶的高度,并取最大值,即为本次罗碗的高度。不断更新最终结果,取最小值。View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>usingn 阅读全文
posted @ 2011-07-26 15:38 undefined2024 阅读(409) 评论(0) 推荐(0)
上一页 1 ··· 96 97 98 99 100 101 102 103 104 ··· 182 下一页