Loading

6.30 考后总结

时间安排

7:20--7:40
读题,T1有先贪心再背包的乱搞做法,T2区间 dp ,T3 大概有暴力建图的做法。
7:40--8:40
T3,对于第二个操作可以线性建图,考虑第一个操作的链怎么办,显然可以树剖,不过这是 3log 的,过于劣。发现可以倍增,于是倍增建图。这样图的规模是单 log 的,然后暴力跑 dj ,复杂度双 log ,测试大样例跑得还是蛮快的。
8:40--9:30
T1,先写暴力。发现数据范围很大,需要 __int128 。考虑当 m 非常大时,可以先贪心,然后缩到一定规模再背包,有一定的正确率。
9:30--10:40
T2,有暴力的区间 dp 。打表寻找单调性,发现无论是答案还是决策点都没有单调性。
10:40--12:00
思考 T1 正确性做法,以及 T2 。

回顾反思

T1:
类似的题目: 梦幻岛宝珠
考虑将物品按二进制拆开,然后对背包容量做二进制上的数位 dp ,由于单个物品体积很小, dp 的维度的规模较小。可以通过。

T2:
赛时发现决策上没有什么单调性。
式子中有一个 min ,没有发现这个 min 的分界点是单调的。
于是找到这个 min 分界点,左右两边分别用李超树维护就行了。

T3:
赛时为了防止数组大小不够,特意开的很大,给静态数组开了 900 MB ,给 vector 留了 100 MB 左右的空间。然而本地还是 MLE 了。精细了数组大小的计算,给 vector 多留了几百 MB 空间就过了。
一定要注意 stl 的空间占用,留出足够的空间。尤其是动态分配空间的 stl ,计算内存时不要漏掉。

posted @ 2023-06-30 18:40  Cafard  阅读(7)  评论(0)    收藏  举报