http://acm.hdu.edu.cn/showproblem.php?pid=4462一道题意不清的水题题意:给一个n*n的格子,在上面放草人,每个草人有恐惧范围,问最少选择几个草人可以覆盖所有格子解法:草人个数只有10,暴力即可,dfs或者状压枚举。距离指的是曼哈顿距离,已经有草人的格子,不...
分类:
其他好文 时间:
2014-09-05 00:50:20
阅读次数:
224
题目链接:uva 1462 - Fuzzy Google Suggest
题目大意:模拟google的模糊搜索,给定给一个字符串集合,然后有n次搜索,每次有一个整数x和一个字符串,表示可以对字符串进行x次修改,包括增加、修改和删除一个字符,问修改后的字符可能是字符集中有多少个字符串的前缀。
解题思路:先建立字典树,对于每次搜索,在字典树上进行dfs,根据参数x和字符串匹配的位置进行处理...
分类:
其他好文 时间:
2014-09-04 22:18:30
阅读次数:
223
....历经n发wa之后 终于解脱了这感觉....无法言表...其实 这题你说难吧? 对于我而言 一共就做过一道lca的人来说 是有点难的可是吧 当你慢慢地写下来 其实代码那么长 又不怎么难对于此题 就是先求出query中2个结点的lca之后 然后dfs它们的lca 根据深度进行排序这个其实不难理解...
分类:
其他好文 时间:
2014-09-04 18:30:49
阅读次数:
222
建图(每次lev[i+1]到lev[i]连边,权是0,图中原来有边。root到lev0的有边。到达最高的点相当于必需到达所有点])之后,便是最小树形图(有向图,包括指定的根在内的最小生成树(从根出发))。
刘朱算法很好理解:
选取每个点入度最小的边加入边集。
缩点,改权。
取最小边集。
这考的比较少,就直接用模板了。。之前先自己dfs一遍,判断有无解。
模板用的是邻接矩阵的。之前必需对...
分类:
其他好文 时间:
2014-09-04 16:59:59
阅读次数:
204
tarjan---LCA算法的步骤是(当dfs到节点u时): 实际: 并查集+dfs具体步骤: 1 在并查集中建立仅有u的集合,设置该集合的祖先为u 1 对u的每个孩子v: 1.1 tarjan之 1.2 合并v到父节点u的集合,确保集合的祖先是u 2 设置u为已遍历 3 处理关于u的查询,若查.....
分类:
其他好文 时间:
2014-09-04 16:54:09
阅读次数:
231
题目链接:HDU 1274 展开字符串
中文题。
左括号进入DFS函数,右括号return到上一层。注意return回去的是这个一层递归中的括号里的字母串。
AC代码:
#include
#include
#include
#include
using namespace std;
char str[300];
bool vis[300];
int len;
str...
分类:
其他好文 时间:
2014-09-04 11:55:59
阅读次数:
185
HDU1312 / POJ1979 / ZOJ2165 Red and Black(红与黑) DFS解题报告...
分类:
其他好文 时间:
2014-09-04 10:31:49
阅读次数:
355
题意:给定点的上下级关系,规定如果给i分配任务a,那么他的所有下属。都停下手上的工作,开始做a。
操作 T x y 分配x任务y,C x询问x的当前任务;
Sample Input
1
5
4 3
3 2
1 3
5 2
5
C 3
T 2 1
C 3
T 3 2
C 3
Sample Output
...
分类:
其他好文 时间:
2014-09-04 01:42:47
阅读次数:
257
/* 这个代码运行的时间长主要是因为每次枚举之后都要重新计算一下和的值! 如果要快的话,应该在dfs,也就是枚举的过程中计算出前边的数值,知道最后,这样不必每一次枚举都要从头再算一遍值! */ 1 #include 2 #include 3 #include 4 #include 5...
分类:
其他好文 时间:
2014-09-04 00:05:37
阅读次数:
201
所有房子组成一颗树,求出离根节点0的距离大于d的节点数目
DFS+vector存边 水过
#include "stdio.h"
#include "string.h"
#include "vector"
using namespace std;
vectormapp[100010];
int ans,d;
void dfs(int cur,int pre,int op)
{
...
分类:
其他好文 时间:
2014-09-03 21:21:39
阅读次数:
344