2012年7月23日
摘要:
http://poj.org/problem?id=3140一遍DFS 枚举任一条边被切断的情况就可以代码:#include<iostream>#include<stdio.h>#include<string.h>#include<queue>#include<cmath>#include<stack>#include<algorithm>#define LL long longusing namespace std;const int N=100005;struct node{ LL sum; struct 阅读全文
posted @ 2012-07-23 20:24
夜->
阅读(159)
评论(0)
推荐(0)
摘要:
http://poj.org/problem?id=2486树形DP 我一般都是先用邻接表保存树 然后用的都是子树和所有兄弟树的dp方法自己感觉理解也行呀 但是没见有多少人用呢,也许自己有点另类老是出错 思维能力还是不够 越来越感觉acm是在练一个人的思维了题目大意:给一个树 节点有一定数目的苹果人在1(根点)最多走K步 问最多可以得到多少苹果思路:ans[i][j][0] 表示包括i在内所以其子节点和右边兄弟树 可以走j步 可以存在不回来的情况 的最佳答案ans[i][j]][1] 这个必须都回来代码及其注释:#include<iostream>#include<stdio 阅读全文
posted @ 2012-07-23 19:52
夜->
阅读(233)
评论(0)
推荐(0)
摘要:
http://poj.org/problem?id=1947给你一棵n个节点的树 问你保存p个节点的子树最少需要切断多少条边我用邻接表保存树ans[i][j] 代表了包含i在内的它所要子节点和兄弟子树在内 保存j个点需要最少切断多少边代码及其注释:#include<iostream>#include<stdio.h>#include<string.h>#include<queue>#include<cmath>#include<stack>#include<algorithm>#define LL long l 阅读全文
posted @ 2012-07-23 10:20
夜->
阅读(161)
评论(0)
推荐(0)
摘要:
http://poj.org/problem?id=2057题意比较简单是典型的树 DP思路:先建树 然后一遍DFS求的每个节点的 访问一遍失败回来的总步数 和每个子树的叶子节点树再对每个节点后面的子节点按照优先级排序 就是确定先访问谁代码及其注释:#include<iostream>#include<stdio.h>#include<string.h>#include<queue>#include<cmath>#include<stack>#include<algorithm>#define LL long 阅读全文
posted @ 2012-07-23 07:31
夜->
阅读(207)
评论(0)
推荐(0)
浙公网安备 33010602011771号