摘要: "题目" 细节比较多的二分+跟LCA倍增差不多的思想 首先有这样一个贪心思路,深度越低的检查点越好,而最长时间和深度具有单调性,即给定时间越长,每个军队能向更浅的地方放置检查点。因此可以考虑二分时间,然后判断军队是否可以放置在控制疫情的地方。 但是有的军队需要先满足自己当前所在的节点,然后此节点如果 阅读全文
posted @ 2019-11-04 21:39 DAGGGGGGGGGGGG 阅读(395) 评论(0) 推荐(0) 编辑
摘要: "题目" 树上差分 树上点差分,注意会出现路径端点多记录的情况,这时需要在最后输出的时候输出子树的差分数组的和 1,而不是在处理原数据的时候减1。并且a[n]不需要糖果,最后也减去就行。 c++ include define N 1001011 using namespace std; struct 阅读全文
posted @ 2019-11-04 14:49 DAGGGGGGGGGGGG 阅读(125) 评论(0) 推荐(0) 编辑
摘要: "题目" 题目要求使一条边边权为0时,m条路径的长度最大值的最小值。 考虑二分此长度最大值 首先需要用lca求出树上两点间的路径长度。然后取所有比mid大的路径的交集,判断有哪些边在这些路径上都有出现,然后这些边里面取最大值当做虫洞,如果还是不行说明此mid不行。 判断边可以用把边化为点,然后树上差 阅读全文
posted @ 2019-11-04 11:41 DAGGGGGGGGGGGG 阅读(171) 评论(0) 推荐(0) 编辑