一开始sb以为是数位dp,想到状态是十维每维代表每个数字出现次数,再加一维代表余数。空间时间都要炸飞。。。
后来想了想可以直接用数字在原串上出现的位置来代替那十维,结果没有意识到这就是状压dp。。。导致写出来常数爆炸
不过过了就懒得改了。- -
代码看看就可以了:
#include#define LL long long#define MAXN 20000005using namespace std;int dp[15][1030][1005],d,T;int len,full;char s[15];int check(int v,int st) { for(int i=0;i