暴力\(N^3\)dp就是\(f_{i,j,k}\),前\(i\)个东西,用\(j\)个第一个球和\(k\)个第二个球
然后可以发现随着限制\(a\)以及\(b\)的增加,答案是一个上凸函数,所以可以二分(好像叫\(wqs\)二分).二分第一维以及第二维的代价,然后做没有个数限制的dp,转移记录两种球用了多少个,以及转移时要每用一个球答案减去对应的代价.根据用到球个数调整二分边界,直到用的球个数都等于限制\(a\)和\(b\)就能求出答案
然后二分边界被卡的飞起qwq
//WA代码#include #include #include #include #include #include #include #include #include #include