(洛谷搬家系列,不想COPY题目,自己查,谢谢!)
这题要用到DP完全背包求方案数,但我想强调的是质数表O(∩_∩)O~
这个数据量已经算很小了,如果数据量大的话,这样一遍一遍求质数 也许应该可能 一定会 TLE ( ⊙ o ⊙ )!
这是可以用一个伟大的理论:
筛法求素数
具体做法是:给出要筛数值的范围n,找出n以内的素数p1,p2,p3,…,pk。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个素数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个素数5筛,把5留下,把5的倍数剔除掉;不断重复下去…。(来自万能的百度百科)
此题状态转移方程: dp2[j]=dp2[j]+dp2[j-i] (其他题解也有讲具体做法,我就 懒的 不说了)
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
long long t,m,w,dp2[