摘要: 题意:给出一颗n个节点有边权的树 和m个军队所在的位置 军队从某节点移动到相邻节点要花费边长度的时间 求最少要多少时间使得根节点(编号为1)到每个叶子的路径上最少有一支军队(根节点不能有军队)题解:我们可以二分答案 那么问题就转换为 在t的时间内军队能否控所有点显然一支军队在到根节点之前 如果能继续向上走 那么这支军队能控制的点就会更多维护bo[i]表示 从该点到所有该点子树的叶子节点路径上是否都有军队对于每个不能走到根节点的军队 就让他尽量向上走 直到不能走为止 将该点的bo值赋为1然后可以用拓扑算出bo数组这样 根节点的所有儿子中bo为1的点就不用管 而剩下的点就需要派能走到根节点的军队到 阅读全文
posted @ 2013-10-15 13:33 g_word 阅读(3005) 评论(0) 推荐(0) 编辑
摘要: 题意:给n个点的海拔h[i](不同点海拔不同) 两点的距离为abs(h[i]-h[j]) 有a、b两人轮流开车(只能往下标大的地方开) a每次会开到里当前点第二近的点 b每次会开到离当前点最近的点(距离相同h小的近) 给定x 如果a或b继续开距离和会大于x就不继续开。求两个问题1、给定x=x0求从哪点开始开能使a开的距离:b开的距离最小 不值相同取海拔高的2、给出m个询问 每个询问给定x1、y1 求从x1开始走且x=y1 a能走的距离和b能走的距离题解:不难发现(其实我一开始没发现 看了题解才知道TAT)从固定某点i走到的后若干个点和x没关系我们可以预处理出从i点走j个点 a、b走的距离 由于 阅读全文
posted @ 2013-10-15 00:02 g_word 阅读(452) 评论(1) 推荐(1) 编辑
摘要: 刷了一星期+的ac自动机的题目 做一个总结~我的ac自动机是之前省选的时候看老师给的一个网页上学的 由于找不到原文 就贴个转载的地址吧 - -http://hi.baidu.com/winterlegend/item/d23a21ef3cdd9ff0e0a5d4d0再贴个我刷的题目目录 是notonlysuccess写的博客里的题目http://www.notonlysuccess.com/index.php/aho-corasick-automaton/我感觉ac自动机并没有学之前想的那么复杂 只是一个字典树加上一些fail指针 在维护一些要求的东西就好了fail指针的意思i就是从根节点到该 阅读全文
posted @ 2013-10-06 22:02 g_word 阅读(185) 评论(0) 推荐(1) 编辑
摘要: 题目概括:给出树的dfs、bfs序 求树的期望高度题解:由于我比较懒 先copy一段百度文库的题解~void copy(){我们可以发现,所求的树之所以会有很多种,是因为出现了这种情况:对于A、B,A既可以做B的兄弟,又可以做B的父亲。(显然其中的一个前提是A、B在dfs、bfs序列中都必须相邻) 而这样除去A,B的关系外,对于其他任何节点之间的关系都没有任何影响。 所以这中情况对答案的贡献是0.5。 然后对于A,B,如果A只能是B的父亲(也就是BFS序列中的断层),那么对答案的贡献为1。所以,我们只要找出来以上两种关系,最后将贡献值加起来就是答案。 }这个题解木有具体写加0.5的情况 s.. 阅读全文
posted @ 2013-08-29 11:11 g_word 阅读(1590) 评论(3) 推荐(0) 编辑