这题不错,可惜我还是太弱了,没想到qwq. 看了网上大佬题解之后写的,对比了一下代码,好像我写的还是挺简洁的(逃,只是吞行比较多). 因为直接用lcm的值做下标会超时,所以我们观察发现可以组成lcm为m的,其实只可能是m的因子.所以我们预处理出所有m的因子放到a数组里.然后开始DP: dp[i][j][k]代表选前i个数,和为j,lcm为a[k]的方案数.假设LCM(a,b)=c,因为知道a和c求b不容易,而知道a和b求c很容易,所以这里我们会采用刷表法. 另外即使我们已经优化了,因为ZOJ卡时…