這題用dp或者dfs均能過。 在coj上看了ahyangyi大神的**,手寫了個bigint的結構體,遂模仿之,果然很好使
典型的dp問題
設w(h,q)表示從h位開始的q位數字組合所成的十進位制數,m(i,j)表示前i位數字串插入j個乘號所得的最大乘積,初始值為:
m(i,0) = w(0,q) ;
動規方程如下所示:
if (j==0) m(i,j) = w(0,i) ;
else if(j>0)
m(i,j) = max ps: 其中 0<= d < i
下標均從0開始
dp版本
/*
id: sdj22251
prog: subset
lang: c++
*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 2000000000
#define maxn 100005
#define eps 1e-10
#define l(x) x<<1
#define r(x) x<<1|1
using namespace std;
struct biginteger
biginteger(string s)
void operator *=(const biginteger &a)
if(tmp[len]) len++;
for(int i = 0; i < len; i++) d[i] = tmp[i];
while(len > 0 && d[len - 1] == 0) len--;
if(!len) d[len++] = 0;
}bool operator <(const biginteger &a)const
void out()
}dp[55][11];
int n, m;
char s[105];
int main()}}
dp[n - 1][m].out();
return 0;
}
dfs版本
/*
id: sdj22251
prog: subset
lang: c++
*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define inf 2000000000
#define maxn 100005
#define eps 1e-10
#define l(x) x<<1
#define r(x) x<<1|1
using namespace std;
struct biginteger
biginteger(string s)
void operator *=(const biginteger &a)
if(tmp[len]) len++;
for(int i = 0; i < len; i++) d[i] = tmp[i];
while(len > 0 && d[len - 1] == 0) len--;
if(!len) d[len++] = 0;
}bool operator <(const biginteger &a)const
void out()
}ans;
int n, k;
char s[105];
void dfs(biginteger t, int m, int x)
for(int i = x ; i < n - m + 1; i++)
}int main()
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 動規方程如下所示...
NOIP 乘積最大(dp
問題描述 今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為n的數字串,要求選手使用k個乘...
dp專題 乘積最大
乘積最大 題目描述 今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為n的數字串,要求選手...