深度遍历(dfs)
nixinyis
这个作者很懒,什么都没留下…
展开
-
uva 572 Oil Deposits
一道非常简单的dfs,适合练习算法或语言的基础 #include #include const int maxn=105; char p[maxn][maxn]; int m,n,a[maxn][maxn]; void dfs(int r,int c,int id) { if(r=m||cn)return; if(a[r][c]>0||p[r][c]!='@')return; a原创 2015-12-20 00:28:51 · 394 阅读 · 0 评论 -
【BZOJ 2435】【NOI 2011】道路修建【水题】
此题有我自己用的邻接表。注意!注意!注意! (以后写邻接表参考此文)原创 2017-03-20 20:45:07 · 322 阅读 · 0 评论 -
【POJ 2763】Housewife Wind【LCA】
题目链接:POJ-2763题目大意:一棵树,n个点,每条边有权值w[i],q个操作。 A:求u到v路径上权值之和 B:将第x条边的权值改为t (1<= n,q<= 10^5)题解先考虑图是一条链时,无论是查询还是修改,用BIT(树状数组)的话都可以在O(log n)内完成。 但是对于一棵树怎么搞呢?? 可以将树通过DFS访问的顶点顺序当做一条链。 这样就非常妙了,可以使用BIT做优化了。原创 2017-03-14 16:57:59 · 239 阅读 · 0 评论 -
【codeforces 734E】Anton and Tree【缩点+DP】
题目链接:codeforces 734E题目大意:来看题解的都是知道题目是什么意思的,我就不多嘴了。题解cf自题解已经非常清楚了。先缩点,再找出该树一条最长的直径d,答案就是(d+1)/2 为什么呐?? 假设树的直径是0,那么答案就是0吧。然后我们就可以看到这个事实: the tree diameter can’t be decreased more than by two per one pa原创 2017-03-14 22:54:30 · 268 阅读 · 0 评论