POJ 2724 Purifying Machine
题目链接
题意:这题题意有点没看懂,看了别人的题解,
给出m串长度为n的01串。有些串中可能包含,这样的串可以表示两个串,为1 和为0。重复的算一种。比如题目中01
100
011
就代表了四个01串
001
101
100
011
现在我们需要消灭掉所有的01串,消灭方式有两种:
1一次消灭一个串。
2如果两...
分类:
系统相关 时间:
2014-10-30 13:35:14
阅读次数:
167
POJ 1466 Girls and Boys
题目链接
题意:n个人,每个人有一个爱慕的集合,现在要挑出一些人,使得集合中没有人两两爱慕,问这个集合最大人数是多少
思路:每个人拆成两点,爱慕和被爱慕,然后建图,跑二分图最大匹配,由于爱慕关系是相互的,所以匹配数会多2倍,然后人数n - 最大匹配数 / 2就是最大独立集
代码:
#include
#include
...
分类:
其他好文 时间:
2014-10-29 13:01:45
阅读次数:
161
题目:uva 1220 - Party at Hali-Bula
题意:一个公司员工要举行聚会,要求任意一个人不能和他的直接上司同时到场,一个员工只有一个支系上司,现在求最多有多少人到场,并且方案是否唯一
分析:分析发现是要求一个树的最大独立集。这里可以用树形dp解决。
定义dp【x】【0】:表示在 i 点不选 i 点的以 x 为子树的最大独立集 而dp【x】【1】 表示x到...
分类:
其他好文 时间:
2014-10-20 21:27:26
阅读次数:
252
#include
#include
#define maxn 1010
int n, A[maxn], B[maxn];
bool vis[maxn];
int head[maxn], id;
struct Node {
int v, next;
} E[maxn * maxn];
void addEdge(int u, int v) {
E[id].v = v; E[id].nex...
分类:
其他好文 时间:
2014-10-20 08:45:10
阅读次数:
157
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3829
题意:动物园有n条狗,m头猫,p个小孩,每个小孩有一个喜欢的动物和讨厌的动物,现在动物园要转移一些动物,如果一个小孩喜欢的动物在,不喜欢的动物不在,他就会happy,问动物最多能使几个小孩happy。
思路:一个比较明显的二分图,不能以猫狗为顶点,那样找到的是哪些动物会转移,以小孩为顶点...
分类:
其他好文 时间:
2014-10-18 21:00:16
阅读次数:
160
题意:基环树最大独立集
思路:
像这种题就是朴素的树形dp非常容易的,我们用一些技巧转化为变体树。
直接套用仙人掌的动态规划做法:(基环树事实上也属于一种仙人掌)
首先利用tarjan算法,如果遇到自己与儿子之间的边为割边则按照树边处理。
Tarjan后看一下与自己相连的边,如果某个相邻点不是自己的儿子,并且入栈序比自己大,那么说明自己是环上的的最高点,此时我们对环上特别的进行d...
分类:
其他好文 时间:
2014-10-17 11:57:30
阅读次数:
371
Kindergarten
Time Limit: 2000MS
Memory Limit: 65536K
Total Submissions: 5317
Accepted: 2589
Description
In a kindergarten, there are a lot of kids. All girls of the...
分类:
其他好文 时间:
2014-10-12 22:59:38
阅读次数:
274
hdu2458题意:给定G(G 3 #include 4 const int N = 222; 5 int G,B,m; 6 int Map[N][N]; 7 bool vis[N]; 8 int cx[N],cy[N]; 9 10 bool dfs(int u)11 {12 int i...
分类:
其他好文 时间:
2014-10-12 16:31:28
阅读次数:
176
m种阳离子 n种阴离子 然后一个m*n的矩阵 第i行第j列为1代表第i种阴离子和第j种阴离子相互吸引 0表示排斥
求在阳离子和阴离子都至少有一种的情况下 最多存在多少种离子可以共存
阴阳离子都至少需要存在一种 那么可以枚举哪2种离子共存 假设枚举a b 然后找到所有的和a可以共存的阴离子(设为x集合)以及和b共存的阳离子(设为y集合)
现在只需求x集合中和y集合中最多有多少个离子可以共存 ...
分类:
其他好文 时间:
2014-10-11 19:55:26
阅读次数:
222
题意:有n个学生,每个学生都和一些人有关系,现在要你找出最大的人数,使得这些人之间没关系
思路:求最大独立集,最大独立集=点数-最大匹配数
分析:建图时应该是一边是男生的点,一边是女生的点连边,但是题目中没说性别的问题,只能将每个点拆成两个点,一个当作是男的点,一个当作是女的点了,然后连边.由于关系是相互的,这样就造成了边的重复。也就是边集是刚才的二倍,从而导致了最大匹配变成了原本的二倍,因此,此时最大独立集=点数-最大匹配数/2....
分类:
其他好文 时间:
2014-10-06 20:54:00
阅读次数:
187