比较简单的,枚举 ai 和 ⌊ajai⌋ 的值,显然这是调和级数级别的,然后因为这个东西有单调性,所以对于上面的信息直接二分出最大的 aj 的值就做完了。时间复杂度 O(nlognlogV),需要卡常。
upd:对上述显然结论的证明:对于每一个 aj,设 ai 的上限是 V,则 ⌊ajai⌋ 能取到的最大的值是 ⌊ajV⌋,总量级不超过 i=1∑V⌊iV⌋。又有经典结论 i=1∑ViV≈VlogV,且 i=1∑V⌊iV⌋≤i=1∑ViV,因此 i=1∑V⌊iV⌋≈VlogV(甚至还要小一点)。因此证毕。
AC Code
喜欢的话,留下你的评论吧~