摘要:
Link: BZOJ 4719 传送门 Solution: 感觉求LCA又有了新姿势啊:$Tarjan$离线$O(n+m)$ 每次递归返回时将子树和父节点合并,如果询问节点已访问过则LCA就是已合并的最高节点 这题部分分提示非常多啊 首先要将路径拆为$(S,LCA),(LCA,T)$ 发现如果$(S 阅读全文
posted @ 2018-09-28 14:09
NewErA
阅读(145)
评论(0)
推荐(0)
摘要:
Link: BZOJ 3720 传送门 Solution: 由于强制在线+新添节点,主席树难以进行更新 这时考虑在树上分块,具体内部的操作和在序列上相同 每次通过判断父节点块的大小判断是否要新开一块 注意每一块在树上都是连续的,这样在查询时子树时保证最后全是整块 不过由于上一条特性导致遇到菊花图就将 阅读全文
posted @ 2018-09-28 13:37
NewErA
阅读(211)
评论(0)
推荐(0)
摘要:
Link: BZOJ 3707 传送门 Solution: 很不错的一道思维题 可以发现枚举完两点后最优点就是最接近该直线的点 如果将该直线看作$y$轴用两边$x$坐标的绝对值最小的点更新即可 于是可以将所有斜率排序后不断旋转$y$轴并维护当前按$x$从小到大的序列 发现对于直线$(x,y)$,两点 阅读全文
posted @ 2018-09-28 13:25
NewErA
阅读(185)
评论(0)
推荐(0)
摘要:
Link: BZOJ 4071传送门 Solution: 首先算出能提前算的贡献 $K=1$:肯定选中间的点,小学数学 $K=2$:对于每对$(x,y)$一定选离$(x+y)/2$近的桥 也就是说将$(x,y)$按$(x+y)/2$的值排序后一定恰有一个分割点使得两边选择不同的桥! 考虑如何如何快速 阅读全文
posted @ 2018-09-28 11:31
NewErA
阅读(199)
评论(0)
推荐(0)
摘要:
Link: BZOJ 2821 传送门 Solution: 一道类似区间众数的经典分块 由于个数为偶数这样的条件不能支持快速合并 因此要先$O(n*sqrt(n))$预处理出$pre[i][j]$表示第$i$块到第$j$块的答案 同时要建立每种颜色的有序序列方便求出一个区间内某种颜色的个数 这样每次 阅读全文
posted @ 2018-09-28 11:09
NewErA
阅读(135)
评论(0)
推荐(0)
摘要:
Link: P1084 传送门 Solution: 感觉NOIP T3也是有点东西的…… 将该题转化为最大值最小问题后想到二分答案 接下来考虑$check$时如何贪心: 由于除了在根节点所有军队都只往上跳明显采取倍增的方式 记录所有能到达根节点的军队和根节点下所有未被封死的子树 将两个序列从小到大排 阅读全文
posted @ 2018-09-28 10:46
NewErA
阅读(239)
评论(0)
推荐(0)

浙公网安备 33010602011771号