2025-08-02 模拟赛总结 😰

预期:\(100+100+20+20=240\)
实际:\(70+100+20+20=210\)
排名:\(rk98/166\)

比赛链接:http://oj.daimayuan.top/contest/369

A - 器材整理:

题意:

一共有 \(n\) 个物品,每个物品的体积为 \(v_i\),你最多可以用 \(k\) 个体积相同的盒子来装物品。

打包策略:每次找到不超过盒子剩余体积中体积最大的物品,然后将其装入盒子。如果没有,那么换一个盒子。

你需要求出盒子的最小体积。

思路:

首先你可以 \(O(n\log n)\) 模拟对盒子的体积 \(w\) 进行 check,但是这并不满足单调性,不能二分。

最暴力的做法是枚举 \(0\sim sum\) 作为盒子的体积进行 check,时间复杂度:\(O(Tn^2V)\)

(乱搞)其实你可以照常二分,然后找出二分周围的(大概 500)点进行 check,然后就可以过了。

代码:

反思:

本来可以过的,但是二分后暴力找的范围我写大了,以后要好好算时间复杂度

posted @ 2025-08-02 13:48  liruixiong0101  阅读(16)  评论(0)    收藏  举报