上一页 1 ··· 57 58 59 60 61 62 63 64 65 ··· 182 下一页
摘要: O(n)的dpView Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define maxn 30005int n;int cow[maxn];int f[maxn][5];void input(){ scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%d", &cow[i]);}v 阅读全文
posted @ 2012-07-03 15:52 undefined2024 阅读(211) 评论(0) 推荐(0)
摘要: 题意:求出度为0的强连通分支。分析:采用邻接阵的强连通分支tarjan模板。View Code const int maxn = 5005, maxm = 100005;struct Edge{ int v, next;}edge[maxm];int n, m, ncount, idx;int head[maxn];int dfn[maxn], low[maxn];bool vis[maxn], instk[maxn];int stk[maxn], top, cpn_num, cpn[maxn];int out[maxn];void addedge(int a, int b){ /... 阅读全文
posted @ 2012-07-03 14:55 undefined2024 阅读(388) 评论(0) 推荐(0)
摘要: 题意:给点一个无向图,求一个生成树使树中最大边与最小边的差的最小。分析:并查集。把所有边排序,然后从小到大看,每次枚举一个边,将其权值作为下界,向右寻求一个上界,让上下界之间的边可以使得图连通。寻求过程中,是每次将一个边加入图中,判断图是否连通,不行则再加一条边,判断过程用并查集。找到没个下界对应的上界,找上下界差的最小值。View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>using 阅读全文
posted @ 2012-07-03 10:29 undefined2024 阅读(878) 评论(1) 推荐(0)
摘要: 题意:与2409类似,只是只能有3种颜色。分析:详见2409,注意输入0的情况。View Code #include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>using namespace std;int n, m;int gcd(int a, int b){ b = b % a; while (b) { a = a % b; swap(a, b); } return a;}int main(){ //freope.. 阅读全文
posted @ 2012-07-03 09:13 undefined2024 阅读(236) 评论(0) 推荐(0)
摘要: 题意:给定颜色种数和环上的珠子总数,问有多少种染色方案(通过旋转和翻转相同的算同一种)。分析:polya定理。在这里只谈一下polya定理是如何应用的。对于排成一排的带编号的小球,按照某一种方案改变其中一些球的放置顺序,可以称之为置换。每一种置换方法可以用两排数字來表示,第一排数字和第二排数字一一对应,第一排数字表示小球的原来位置(1~n),第二排数字表示小球交换后的位置。现在我们有n个小球,m种颜色。有k种置换方法,我们认为能通过置换方法交换位置后变成同一种染色情况(颜色的排列状况相同,忽略小球编号),则我们认为这些互相通过置换能达到的状态为同一种染色方法。我们现在要求总共有多少种染色方法。 阅读全文
posted @ 2012-07-03 08:50 undefined2024 阅读(1349) 评论(0) 推荐(1)
上一页 1 ··· 57 58 59 60 61 62 63 64 65 ··· 182 下一页