2024.8.24美团第三批笔试
1. 假如第i个点距离终点距离ci,距离起点xi, 则第一次去拿的物品为j,则有 ans = 2*(c1+c2+c3+...+cn) - cj + xj,只需要计算-cj + xj的最小值即可
2. 不妨设a<=b<=c,则当k<=(b-a),k全加上a,k<=(b-a+2*(c-b)),k先加a知道等于b,然后a,b平分剩余的k,最后k>=(b-a+2*(c-b)),k让a,b加到c,最后剩余平分,注意可能无法平分以及取模的(a%p) * (b%p) %p * (c%p) %p这种写法。
3. 非常典型的线段数,维护区间最大值以及最大值对应的下标,同时实现三个函数,区间查询,单点修改,单点删除。不懂的可以去看看线段树模板
2. 不妨设a<=b<=c,则当k<=(b-a),k全加上a,k<=(b-a+2*(c-b)),k先加a知道等于b,然后a,b平分剩余的k,最后k>=(b-a+2*(c-b)),k让a,b加到c,最后剩余平分,注意可能无法平分以及取模的(a%p) * (b%p) %p * (c%p) %p这种写法。
3. 非常典型的线段数,维护区间最大值以及最大值对应的下标,同时实现三个函数,区间查询,单点修改,单点删除。不懂的可以去看看线段树模板
全部评论
第二题取模为啥要写成那样啊?
相关推荐