DFS
Fb_by
这个作者很懒,什么都没留下…
展开
-
2014ACM/ICPC广州赛区I题(dfs+剪枝)(hdu5135)
Little ZuChongzhi's Triangles Time Limit: 2000/1000 MS(Java/Others) Memory Limit: 512000/512000 K(Java/Others) Total Submission(s): 219 Accepted Submission(s): 118 Problem Description原创 2014-12-08 13:02:31 · 513 阅读 · 0 评论 -
BestCoder Round #74 (div.2 b) hdu5636 Shortest Path 【dfs】
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5637 题意:有一条长度为nn的链. 节点ii和i+1i+1之间有长度为11的边. 现在又新加了3条边, 每条边长度都是1. 给出mm个询问, 每次询问两点之间的最短路. 分析:加了三条边,相当于六条边,每次从起点到终点跑个dfs就好了,裸的dfs复杂度为6!,可以发现经过一条边后就不会经过它的原创 2016-03-06 13:05:23 · 312 阅读 · 0 评论 -
BestCoder Round #76 (div.2)
链接:http://bestcoder.hdu.edu.cn/contests/contest_show.php?cid=679 题意:有n个球,从盒子中挑两个球出来。先均匀随机地从盒子中挑出一个球,记为A。不把A放回盒子,然后再从盒子中均匀随机地挑出一个球,记为B。 求出A上的数字严格大于B上的数字的概率是。 分析:记录没个数的个数,暴力枚举A,B,算出情况数,最后除以n*(n-1).原创 2016-03-20 17:04:20 · 238 阅读 · 0 评论 -
Codeforces Round #345 (Div. 2)
链接:http://codeforces.com/contest/651 A. Joysticks 题意:两个游戏手柄一个充电器,每次只能冲一个手柄,再冲电的每分钟涨1%,没冲的掉2%,两个都到%1以下游戏结束,问什么时候结束。 分析:哪个的电量低哪个就冲电。 代码: #include #include #include #include #include #include #i原创 2016-03-10 22:44:08 · 284 阅读 · 0 评论 -
UVA 10891【区间dp】
题意: 给定n个数字,A和B可以从这串数字的两端任意选数字,一次只能从一端选取。 并且A B每一步走的都是最优的。 在A先选择的情况下,求A,B最后差值最大是多少。 分析:无论怎么取,剩下的序列都是原序列的连续子序列。将这个区间可以分割成若干对区间,找出这些区间的最小值,剩下的就是a在当前所取最大值。 转移方程为:dp[i][j]=sum[j]-sum[i-1]-min(dp[i+1][原创 2016-03-23 22:27:04 · 269 阅读 · 0 评论 -
hdu1520 Anniversary party 【树形dp】
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520 题意:给你一棵树,每个点都有权值,现在要你选一些点,这些点与父亲不能同时选,问权值最大多少。 分析:树形dp入门题,直接用dp[i][0/1]表示第i个节点选或不选,转移: dp[u][0]+=max(dp[v][0],dp[v][1]) dp[u][1]+=dp[v][0] 代码: #原创 2016-07-26 21:04:54 · 189 阅读 · 0 评论 -
hdu2196 Computer 【树形dp】
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2196 题意:有n台电脑,通过n-1条网线连接,问每台电脑到离他最远的距离是多少。 分析:我们把这些电脑看成一棵树,可以很容易的得到每个点的子树最远的距离(a),我们发现某个节点的答案就是max(a,除下它所在子树后父亲最远的距离)。 所以我们可以先dfs一遍存下每个点(u)的子树离他最远和次远距离,原创 2016-07-27 12:38:24 · 226 阅读 · 0 评论 -
cf 135div2D Choosing Capital for Treeland 【树形dp】
链接:http://codeforces.com/problemset/problem/219/D 题意:n个点,m个有向边,现在要你求出每个点作为根使得图为一棵树需要改变多少边的方向,输出最少改变多少次,和这些点。 分析:建图时发现,一个点为根时他的出度边不用改变,所以将所有的入边的权值为1,然后用dfs统计每个点的子树有多少这样的边。 我们还可以发现,一个点(u)和他的父亲(fa)的关系原创 2016-07-27 14:20:52 · 219 阅读 · 0 评论 -
poj1155 TELE 【树形dp】
链接:http://poj.org/problem?id=1155 题意:以1为根的树,叶子节点上有权值,从1出发到叶子节点会得到叶子的权值,但是要减去路径上的权值,问你最多到达多少叶子使得最后的值大于等于0. 分析:i点为根时用到的叶子节点j的价值用dp[i][j]表示,向上更新的时候就相当于将子树合并。 dp[u][j+k]=max(dp[u][j]+dp[v][k]-w). 代码:原创 2016-07-27 17:15:56 · 264 阅读 · 0 评论