まず、ある数が 1111 の倍数であることと「奇数番目の桁の総和を 1111 で割った余りと偶数番目の桁の総和を 1111 で割った余りが等しい」ことは同値です。

ここで、次のようなDPを考えます。

  • DP[i][j][k]:=DP[i][j][k]:= 現在の桁の総和が ii であり、奇数番目の桁の総和から偶数番目の桁の総和を引いた数を 1111 で割った余りが jj であり、現在の桁数の偶奇が kk である数の個数

このようなDPをすることで、遷移で jj に足すべきか引くべきかがわかるようになり、 O(K)Ο(K) で解くことができました。