摘要: 什么是树上倍增? 顾名思义,就是在树上成倍地增长,可以用于解决一些静态树的查询问题。 放出例题:给定一棵根节点为1的n个节点的树,并给出树上两个点u,v,求它们的最近公共祖先。 我们可以预处理出每个点的父亲节点 fa 和深度 dep ,然后选择u,v中深度较大者不断地往父亲节点走,当u,v深度相同时 阅读全文
posted @ 2019-05-19 21:05 修电缆的建筑工 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目描述 八中里面有N个建设物,M条边。对于这种要建最小生成树的问题,你应该很熟练了。现在老大决定降低某条边的费用,然后这条边必须要被选中,因为这条路他每天都要走,自然......问选了这条边后是否可以得到一个比从前总开支相等或更小的方案。 输入格式 第一行三个整数N,M,Q(1LCA(u,v) v 阅读全文
posted @ 2019-05-18 15:45 修电缆的建筑工 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题目描述 如下图所示,有一个" "形的棋盘,上面有1,2,3三种数字各8个。给定8种操作,分别为图中的A~H。这些操作会按照图中字母和箭头所指明的方向,把一条长为8的序列循环移动1个单位。例如下图最左边的" "形棋盘执行操作A后,会变为下图中间的" "形棋盘,再执行操作C后会变成下图最右边的" "形 阅读全文
posted @ 2019-05-16 21:08 修电缆的建筑工 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字。棋盘中留有一个空格,空格用0来表示。空格周围的棋子可以移到空格中。要求解的问题是:给出一种初始布局(初始状态)和目标布局(为了使题目简单,设目标状态为123804765),找到一种最少步骤的移动方法,实现从初始布局到目标布局的 阅读全文
posted @ 2019-05-16 20:51 修电缆的建筑工 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神, 阅读全文
posted @ 2019-05-16 20:27 修电缆的建筑工 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 在做最短路的题时我们不免会碰到许多求次短路的题,然而我们也能很快地想到解决的办法: 用dijkstra跑一遍最短路,当终点第二次被取出时就是次短路了。时间复杂度为O((N+M)logN)。实际上前面得乘个2. 那么根据OI的尿性,有了最优解问题,又有了次优解问题,接下来是什么?K优解!那么K短路怎么 阅读全文
posted @ 2019-05-15 18:33 修电缆的建筑工 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目描述 农场有N(1≤N≤1000)个牛棚,每个牛棚都有1只奶牛要参加在X牛棚举行的奶牛派对.共有M(1≤M≤100000)条单向路连接着牛棚,第i条踣需要Ti的时间来通过.牛们都很懒,所以不管是前去X牛棚参加派对还是返回住所,她们都采用了用时最少的路线.那么,用时最多的奶牛需要多少时间来回呢? 阅读全文
posted @ 2019-05-14 21:14 修电缆的建筑工 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 题目描述 Farmer John的N(1 include include define maxn 50001 using namespace std; inline long long read(){ register long long x(0); register char c(getchar( 阅读全文
posted @ 2019-05-14 21:08 修电缆的建筑工 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 题目描述 .jpg) 输入格式 Line 1: 牛的数量 N。 Lines 2..N+1: 第 i+1 是一个整数,表示第i头牛的高度。 输出格式 Line 1: 一个整数表示c[1] 至 c[N]的和。 由于每头奶牛都可以看到前面第一头比它高的奶牛之前的所有奶牛,也就是说我们用单调栈维护一个单调下 阅读全文
posted @ 2019-05-14 20:58 修电缆的建筑工 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 题目描述 约翰的N(1≤N≤1,000,000,000)只奶牛要出发去探索牧场四周的土地.她们将沿着一条路走,一直走到三岔路口(可以认为所有的路口都是这样的).这时候,这一群奶牛可能会分成两群,分别沿着接下来的两条路继续走.如果她们再次走到三岔路口,那么仍有可能继续分裂成两群继续走. 奶牛的分裂方式 阅读全文
posted @ 2019-05-14 20:47 修电缆的建筑工 阅读(269) 评论(0) 推荐(0) 编辑