摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4123 给出一棵树,一个人从一个点开始跑,会跑到尽量远的叶子节点,现在问对于每一个询问q,最多能有多少标号连续的人跑,满足最长者减最短者不超过q。 这道题综合了三层,树的最远对,rmq,和单调队列。 首先尽量远就是 阅读全文
posted @ 2016-08-03 21:45 aidgn 阅读(154) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1985 当初在刘书看过树上最远对,但是依稀记得是dp,而直径是双dfs好像没关系。 今天终于搞懂了,是双dfs的dp 第一遍dfs产生树形图,f,g分别记录i点只考虑到子树内的叶子的最远距离,次远距离 第二遍dfs利用f和g计算出h,表示i点“上 阅读全文
posted @ 2016-08-03 16:35 aidgn 阅读(139) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1655 区分重心和直径。直径是树上最远距离两点,重心是一个点删除后最大树最小。 一个点删除后的最大树显然不是它的子树就是它的“上面”,“上面”是dp不了的,但是可以求补集 犯了一个习惯性For(i,1,N)的错误,但是边只有N-1条 #inclu 阅读全文
posted @ 2016-08-03 13:57 aidgn 阅读(117) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4405 从0开始每次掷骰子,数字+骰子的数目,还有一种方式,直接乘给定的航班到某个更大编号的点,问数字大于等于N所需要的期望。 和poj2096一样,从d[>=n]推到d[0],航班的处理是有则一定乘航班 #inc 阅读全文
posted @ 2016-08-03 10:30 aidgn 阅读(225) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=2096 n种bug,s个软件单元,每天能找到一个bug,每一个bug等概率种类,等概率单元,问至少每一种bug找到一个以及每一个单元找到一个bug的期望。 分配式的,一看就是概率dp,同时现在也能理解这个其实和dp还是不一样的,真的dp是max\ 阅读全文
posted @ 2016-08-03 10:07 aidgn 阅读(179) 评论(0) 推荐(0) 编辑