摘要: "传送门" 刚开始往幻想乡战略游戏那个方向去想了…… 我们先随便选一个根节点,然后求出它到所有节点的距离以及所有询问的最大值 如果最大值所在的询问分别在该节点的不同子树内,那么这就是最优情况了因为这个询问的答案不可能再缩小 如果两个询问都等于最大值且分别在该节点的不同子树内,那么这也是最优情况了因为 阅读全文
posted @ 2018-12-04 20:34 bztMinamoto 阅读(124) 评论(0) 推荐(0) 编辑
摘要: "传送门" 完了……好像……已经把插头dp全都忘光了…… 可以去看看这篇 "blog" 为了卡常变得丧心病狂的代码 //minamoto include define ll long long define R register define fp(i,a,b) for(R int i=a,I=b+ 阅读全文
posted @ 2018-12-04 19:12 bztMinamoto 阅读(213) 评论(0) 推荐(0) 编辑
摘要: "传送门" 简单来说就是对于每条线段,先把它拆成$O(logn)$条,然后对于每一条再$O(logn)$判断在所有子区间的优劣程度 阅读全文
posted @ 2018-12-04 14:35 bztMinamoto 阅读(207) 评论(0) 推荐(0) 编辑
摘要: "传送门" 把所有的树给哈希起来就好了 具体的方法是一个节点的哈希值就是它所有儿子的哈希值给哈希起来,然后以每个节点为根算出它作为根节点的哈希值。那么把每棵树的哈希值排个序,与之前的比较就好了 注意把儿子的哈希值给哈希起来的时候要把他们排个序 阅读全文
posted @ 2018-12-04 12:37 bztMinamoto 阅读(227) 评论(0) 推荐(0) 编辑
摘要: "传送门" yyb巨巨的 "题解" 没看懂为什么整除分块的时候只要做两个就够了…… //minamoto include define R register int define fp(i,a,b) for(R i=a,I=b+1;iI; i) using namespace std; char b 阅读全文
posted @ 2018-12-04 12:12 bztMinamoto 阅读(172) 评论(0) 推荐(0) 编辑
Live2D