題目鏈結
設f(d,m1,m2)表示共d個數字,其中各數字之和除以k的餘數為m1,這些數字組成的整數除以k的餘數為m2的整數的個數,則每個模板對應的解的個數都等於某個f(d,m1,m2)
遞推式f(d,m1,m2)=sum
#include
#include
typedef long long ll;
int a,b,k;
int dp[12][112][112];
int c[12];
ll detal(int
x) int ans1,ans2;
ans1=ans2=0;
for(int i=0;i<10;i++)
ll ans=dp[10][0][0];
if((ans1+c[10])%k==0&&(ans2*10+c[10])%k==0)ans++;
return ans;
}int main()
return
0;}
Uva11361 字首 分區間
這題用的是書上給的思路,不過,對於這種型別的題,做的太少,於是打算好好謝謝。不過,花了乙個晚上,參考別人的 寫了遍。這種型別的題一般都會用到字首,設f n 表示從1到n滿足條件的數的個數。但是直接列舉,複雜度為o n 但是由於範圍最大能達到2 31左右,所以不能暴搞。這裡將乙個數分成幾部分來算 f ...
題解 UVA11375 遞推
題目鏈結 參考了大佬部落格思路摘抄如下 d i 記錄用i跟火柴可以組成多少種數字,更新式是d i c j d i c j 就是組成數字j要用的火柴數。但是不能以0開頭,最後當火柴數大於等於6的時候就可以在總答案上 1,表示可以構成乙個單獨的0 因為之前沒有0開頭的,所以要 1補回來 最後答案就是f ...
uva11375火柴遞推之多狀態轉移遞推
分析 把 已經使用過的火柴數i 看成狀態,可以得到乙個圖。從前往後每新增乙個數字x,就從狀態i轉移到i c x 其中c x 代表數字x需要的火柴數。當i 0的時候不允許 使用數字0 最後當n 6時,給答案單獨加上1,代表整數0 令d i 為從結點0到結點i的路徑條數,則答案f n d 1 d 2 d...