树状数组
「SDOI2011」拦截导弹-CDQ分治优化dp
· ✏️ 1316 words · ☕ 3 mins read

某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度、并且能够拦截任意速度的导弹,但是以后每一发炮弹都不能高于前一发的高度,其拦截的导弹的飞行速度也不能大于前一发。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。

在不能拦截所有的导弹的情况下,我们当然要选择使国家损失最小、也就是拦截导弹的数量最多的方案。但是拦截导弹数量的最多的方案有可能有多个,如果有多个最优方案,那么我们会随机选取一个作为最终的拦截导弹行动蓝图。

我方间谍已经获取了所有敌军导弹的高度和速度,你的任务是计算出在执行上述决策时,每枚导弹被拦截掉的概率。


「模板」陌上花开-CDQ分治+树状数组
· ✏️ 1469 words · ☕ 3 mins read

有 $n$ 朵花,每朵花有三个属性:花形( $s$ )、颜色( $c$ )、气味( $m$ ),用三个整数表示。显然,两朵花可能有同样的属性。

定义一朵花 $A$ 比另一朵花 $B$ 要美丽,当且仅当 $S_a\geq S_b$ , $C_a\geq C_b$ , $M_a \geq M_b$ 。定义一朵花的等级是它拥有的美丽能超过的花的数量。

求出每个等级的花的数量。