URAL 1013 DP 高精度 滾動陣列

2021-08-26 05:08:52 字數 400 閱讀 4532

同ural - 1012 ..範圍更大了...時間不是問題..主要是會爆記憶體...只要用滾動陣列來存就可以了..因為每次做遞推的時候只要用到 k 、k-1 和 k-2..每次dp[3]記錄最新更新的值..昨晚後 dp[1]=dp[2] .. dp[2]=dp[3]..就滾過去了...下次再更新到dp[3].....

program:

#include#includeusing namespace std; struct pp dp[4]; int n,k,i,j; void turn(int k) while (dp[k].a[dp[k].len+1]>0) } int main() for (i=dp[2].len;i>=1;i--) printf("%d",dp[2].a[i]); printf("\n"); } return 0; }

Ural 1803(數學,高精度,壓位)

2015 03 01 21 20 58 思路 這題的題意,簡而言之就是給你n和k,讓你求出前n個斐波那契數的各個數字上的數的和,進行排序後輸出。考慮,首先k的範圍2 10,沒有問題,但是n最大可達到50000,而斐波那契數的增長非常快,40 就能爆int。所以要高精度 壓位 不壓位會t 借用下貼吧裡...

COJ 1026 乘積最大 DP 高精度

這題用dp或者dfs均能過。在coj上看了ahyangyi大神的 手寫了個bigint的結構體,遂模仿之,果然很好使 典型的dp問題 設w h,q 表示從h位開始的q位數字組合所成的十進位制數,m i,j 表示前i位數字串插入j個乘號所得的最大乘積,初始值為 m i,0 w 0,q 動規方程如下所示...

COJ 1026 乘積最大 DP 高精度

這題用dp或者dfs均能過。在coj上看了ahyangyi大神的 手寫了個bigint的結構體,遂模仿之,果然很好使 典型的dp問題 設w h,q 表示從h位開始的q位數字組合所成的十進位制數,m i,j 表示前i位數字串插入j個乘號所得的最大乘積,初始值為 m i,0 w 0,q 動規方程如下所示...