上一页 1 ··· 105 106 107 108 109 110 111 112 113 ··· 182 下一页
摘要: 最小生成树,稀疏图用kruskal,O(ElogE)View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>using namespace std;#define maxr 50005#define maxn 20005struct Edge{ int u, v, w;} edge[maxr];int father[maxn];int n, m, r;int ans;bool operat 阅读全文
posted @ 2011-07-18 14:26 undefined2024 阅读(234) 评论(0) 推荐(0)
摘要: 简单题View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 105int vis[maxn], n, m, k;int f[maxn][maxn];int main(){ //freopen("t.txt", "r", stdin); memset(f, 0, sizeof(f)); for (m = 2; m <= 100; 阅读全文
posted @ 2011-07-18 13:46 undefined2024 阅读(228) 评论(0) 推荐(0)
摘要: bfsView Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 2005#define inf 0x3f3f3f3fstruct Edge{ int v, next;}edge[maxn];struct Point{ int x, y, z;}point[maxn];struct Node{ int d, v;}q[maxn];int n, id[maxn];int head[ 阅读全文
posted @ 2011-07-17 17:41 undefined2024 阅读(239) 评论(0) 推荐(0)
摘要: 简单题View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 1005int n, m, p;int ans;int f[maxn];void work(){ ans = 0; memset(f, 0, sizeof(f)); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { int a; sc 阅读全文
posted @ 2011-07-15 09:59 undefined2024 阅读(142) 评论(0) 推荐(0)
摘要: 题意:n堆石子,两人轮流操作,每次操作只能选定其中一堆,并取走若干个(>=1个)。谁取走最后一个谁输。给定一个状态,问先取的赢还是后取的赢。分析:看题目类似nim博弈问题。所以想到sg函数,nim的sg是把格堆石子数抑或起来,看是否为0。本题我们就自己写出一些能解决的状态(可以手动判断np状态),观察各堆总数抑或结果和必胜必败态的联系。发现一个规律,sg函数为0则必胜,否则必败。只有一种特殊情况不符合该规律,就是所有堆都为1。在网上看到了一篇证明,在此复制过来,简单加工一下。不管全0的最后必胜态(好像没影响)于是规定的必胜态为:1.所有的都是1,异或结果为0。。。。1状态2.有大于1的, 阅读全文
posted @ 2011-07-15 09:34 undefined2024 阅读(486) 评论(0) 推荐(0)
上一页 1 ··· 105 106 107 108 109 110 111 112 113 ··· 182 下一页