2014年1月15日

摘要: 树上直径小结ByWine93 2013.101.求树的直径算法:任选一点u为起点,对树进行DFS(BFS)遍历,找出离u最远的点v以v为起点,再进行DFS(BFS)遍历,找出离v最远的点w。则v到w的路径长度即为树的直径原理:设起点为u,第一次DFS(BFS)找到的终点v一定是树的直径的一个端点证明:可参考wuyiqi巨巨的证明 http://www.cnblogs.com/wuyiqi/archive/2012/04/08/2437424.html 2.树的直径应用举例一.模板题--POJ1985CowMarathon--POJ2631RoadsintheNorths二.求一条路径,使该路径 阅读全文
posted @ 2014-01-15 17:02 Wine93 阅读(1015) 评论(0) 推荐(0)
 
摘要: 树上背包问题小结by Wine93 2014.1.152.训练题目1.POJ 1155TELE(树形DP+分组背包)http://poj.org/problem?id=1155题意:给定一棵边权全为负,叶子结点为正权的有根树! 问从根结点出发使得权值和不为负最多能到达的叶子结点个数。思路:树形DP+分组背包! dp[u][j]:以u为跟结点,选j个叶子结点最大价值 dp[u][j]=max(dp[u][j],dp[u][j-k]+dp[v][k]-e[i].w); (v为u的子结点)# include# include# include# include# include# inclu... 阅读全文
posted @ 2014-01-15 09:19 Wine93 阅读(803) 评论(0) 推荐(0)
 
摘要: RMQ问题小结 by Wine93 2014.1.141.算法简介RMQ问题可分成以下2种(1)静态RMQ:ST算法一旦给定序列确定后就不在更新,只查询区间最大(小)值!这类问题可以用倍增的ST算法进行预处理预处理:O(nlogn)查询:O(1)(2)动态RMQ:线段树要更新一些值,还有询问更新:... 阅读全文
posted @ 2014-01-15 00:12 Wine93 阅读(599) 评论(0) 推荐(0)

2014年1月14日

摘要: 1.RMQ 阅读全文
posted @ 2014-01-14 20:11 Wine93 阅读(109) 评论(0) 推荐(0)

2014年1月12日

该文被密码保护。 阅读全文
posted @ 2014-01-12 16:28 Wine93 阅读(4) 评论(0) 推荐(0)
 
该文被密码保护。 阅读全文
posted @ 2014-01-12 16:23 Wine93 阅读(1) 评论(0) 推荐(0)
 
该文被密码保护。 阅读全文
posted @ 2014-01-12 16:20 Wine93 阅读(1) 评论(0) 推荐(0)
 
该文被密码保护。 阅读全文
posted @ 2014-01-12 16:13 Wine93 阅读(9) 评论(0) 推荐(0)
 
该文被密码保护。 阅读全文
posted @ 2014-01-12 16:11 Wine93 阅读(2) 评论(0) 推荐(0)
 
摘要: HDU 4819Mosaic题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4819题意:给定一个n*n的矩阵,每次给定一个子矩阵区域(x,y,l),求出该区域内的最大值(A)和最小值(B),输出(A+B)/2,并用这个值更新矩阵[x,y]的值思路:裸的二维线段树,用树套树实现# include# include# includeusing namespace std;# define lson l,m,rt>1; BuildY(xrt,x,lson); BuildY(xrt,x,rson); PushUp(xrt,rt);}vo... 阅读全文
posted @ 2014-01-12 11:36 Wine93 阅读(1206) 评论(7) 推荐(1)