![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
倍增
文章平均质量分 51
bluelanzhan
这个作者很懒,什么都没留下…
展开
-
noip 2016 天天爱跑步(倍增+差分)
一个人从a跑到b。l=lca(a,b)//倍增f[l][0]:为l的爸爸。把他拆成四个人。分别从a跑到根的人。从f[l][0]跑到根的人。从根跑到b的人。从根跑到l的人。//差分的思想,我们要让a到b最短路径上所有的点经过次数都+1,并记录时间那么在差分数组上让a点+1,b点+1,l点-1,,fa[l][0](l的父亲)-1;如何记录每一个人从a跑到b的信息...原创 2018-05-18 20:54:11 · 381 阅读 · 0 评论 -
2012 noip 开车旅行(倍增)
对于每个点要找离它次近和最近的点,我们可以先把海拔高度排序,对于点i , 离他次近和最近的点一定在i-1,i-2,i+1,i+2这四个位置中,先找最近再找次近=、=因为一直往右走,所以按排序前每个点的位置从左往右找,找完一个点删除,这样可以保证次近点和最近点都在该点的右边,同时可以保证信息的连续性。sta[i][j]表示a在i这个点开车,过2^j轮后,a走的路程;stb同理f[i][j...原创 2018-10-09 11:59:20 · 247 阅读 · 0 评论