![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
倍增
tshoigyr
这个作者很懒,什么都没留下…
展开
-
NOIP模拟(20171102)T1 活动安排
给定n个区间,求最多取多少区间使这些区间无交集 贪心:取能塞下区间中结束时间最早的即可 证明什么的,算法导论上找#include<bits/stdc++.h> #define FE "arrange" using namespace std; inline int getint(){ int x=0,p=1; char c=getchar(); while(!isdigi原创 2017-11-08 09:16:59 · 251 阅读 · 1 评论 -
NOIP模拟(20171023)T2 一样远
求树上离给定两点a,b一样远的点的个数 点数n≤105n\leq10^5,询问数m≤105m\leq10^5 首先,如果a=b,那么n个点都是答案 如果a≠\neqb,将从a到b的链提出来,易得链中点及其子树到a、b距离均相等 显然,我们不能暴力跳树高找中点,考虑倍增 注意当lca是链中点时lca的祖先节点及祖先节点的其他子树上的点也是答案 复杂度O(nlog2n+mlog2n)O(nl原创 2017-10-23 20:05:00 · 341 阅读 · 2 评论