随笔分类 -  其它--倍增

摘要:Sol 暴力就是每个建筑物跑一遍 $BFS$ 然后最短距离建最小生成树,询问倍增 正解比较巧妙 每个点记录一个 $dis$ 表示这个点到最近建筑的距离,$vis$ 表示最近的是哪一个 当一个建筑物走到它时,如果有其它的走到了这个点,那么直接两个建筑物连边 cpp include define IL 阅读全文
posted @ 2018-06-12 07:40 Cyhlnj 阅读(184) 评论(0) 推荐(0)
摘要:题面 "题目传送门" 在$Bytemountains$有$N$座山峰,每座山峰有他的高度$h_i$ 有些山峰之间有双向道路相连,共$M$条路径,每条路径有一个困难值,这个值越大表示越难走 现在有$Q$组询问 每组询问询问从点$v$开始只经过困难值小于等于$x$的路径所能到达的山峰中第$k$高的山峰, 阅读全文
posted @ 2018-03-13 17:44 Cyhlnj 阅读(120) 评论(0) 推荐(0)
摘要:题目 "传送门" Sol 首先可以想到暴力并查集,直接把区间内每个数一一合并,最后求一遍联通块的个数乘法原理即可 但显然会TLE,怎么办? 最开始我想的是开线段树,每个区间分成log个后把线段树上对应节点的集合一一合并,后来发现太麻烦。。。而且好像还有问题。。。 这个时候只能~~Orz yyb~~用 阅读全文
posted @ 2018-01-16 16:21 Cyhlnj 阅读(167) 评论(0) 推荐(0)