如果你使用了线段树合并,那么当你在线段树上二分最大数量时,从叶子节点返回的值应为 min{⌊xval⌋,num}\operatorname{min}\{\lfloor \frac{x}{val}\rfloor , num\}min{⌊valx⌋,num}。其中 xxx 是当前剩余的预算,valvalval 是当前叶子节点表示的值,numnumnum 是当前叶子节点的值的个数。