-1

ここに spoj problem problemへのリンクがあります

私は Dp 問題を解く初心者です。

いくつかのパターンを見つけましたが..しかし、効率的な方法でそれを置くことができません..

私は素朴なアプローチを試みましたが、これは確かに TLE を与えます。

void cal(int *a,int n)
{
    while(n!=0)
    {
         a[n%10]++;
         n/=10;
    }
}

void print(int *a)
{
    int ans=0;
    for(int i=1;i<=9;i++)
    {
            ans+=i*a[i];
    }
    printf("%d\n",ans);
}

そして、より大きな数からより小さな数の合計を減算します..そして、下限の桁数の合計を追加します..つまり、a = 12 b = 15の場合

合計1=51 合計2=66

ans=66-51+(12桁の和=1+2)=15+3=18

どんな助けでも有益です..事前に感謝します。

4

1 に答える 1