nyistOJ-整數劃分(四)(區間DP)
整數劃分(四)
時間限制:1000 ms | 記憶體限制:65535 KB 難度:3- 描述
-
暑假來了,hrdv 又要留學校在參加ACM集訓了,集訓的生活非常Happy(ps:你懂得),可是他最近遇到了一個難題,讓他百思不得其解,他非常鬱悶。。親愛的你能幫幫他嗎?
問題是我們經常見到的整數劃分,給出兩個整數 n , m ,要求在 n 中加入m - 1 個乘號,將n分成m段,求出這m段的最大乘積
- 輸入
- 第一行是一個整數T,表示有T組測試資料
接下來T行,每行有兩個正整數 n,m ( 1<= n < 10^19, 0 < m <= n的位數); - 輸出
- 輸出每組測試樣例結果為一個整數佔一行
- 樣例輸入
-
2 111 2 1111 2
- 樣例輸出
-
11 121
- 來源
題解:首先要預處理出來各個區間所能形成的數是多少,剩下的就是典型的區間DP了
dp[i][j]:前i個數用j個乘號所形成的最大積
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; typedef long long ll; #define maxn 50005 ll dp[50][50],a[50],b[50][50]; char s[50]; int main() { int T,i,j,k,len,m; scanf("%d",&T); while(T--) { memset(dp,0,sizeof(dp)); scanf("%s",s+1); len=strlen(s+1); scanf("%d",&m); for(i=1;i<=len;i++) a[i]=s[i]-'0'; for(i=1;i<=len;i++) { b[i][i]=a[i]; for(j=i+1;j<=len;j++) b[i][j]=b[i][j-1]*10+a[j]; } for(i=1;i<=len;i++) dp[i][0]=b[1][i]; for(j=1;j<m;j++) for(i=j;i<=len;i++) for(k=1;k<i;k++) dp[i][j]=max(dp[i][j],dp[k][j-1]*b[k+1][i]); printf("%lld\n",dp[len][m-1]); } }
相關推薦
nyistOJ-整數劃分(四)(區間DP)
整數劃分(四) 時間限制:1000 ms | 記憶體限制:65535 KB 難度:3 描述 暑假來了,hrdv 又要留學校在參加ACM集訓了,集訓的生活非常Happy(p
整數劃分問題經典解法(有用)
經典的dp! 有N多情況的整數劃分,下面就幾種這幾天學習的分別說一下: 1. 數n的劃分中,其最大值不能大於k:記其結果為f(n, k),那麼, 狀態轉移方程:當 n == 1 || k == 1 時,f(n, k) == 1, n為1,那麼只能為1; 而k為1,那麼
隨手練——Uva-11584 劃分成回文串(區間DP)
scan 方程 () lse 代碼 space turn min inf 思路:dp[i]代表到第i位的最小值,枚舉它的前幾位,求出最小值。 轉移方程:dp[ i ] = min(dp[ i ], dp[ j - 1 ] + 1 ) ; 本來覺得,代碼加深部分可以提
LightOJ - 1422 Halloween Costumes (區間DP)
wan things strong cas book article printf ase con Description Gappu has a very busy weekend ahead of him. Because, next weekend is Ha
POJ3347 Kadj Squares(計算幾何&區間覆蓋)
ica nsis -s ber pro ins ascend char rst 題目鏈接: http://poj.org/problem?id=3347 題目描述: Kadj Squares Description In this problem, you are
POJ 1141 Brackets Sequence (區間DP)
ive bsp rip mes character har typedef som memset Description Let us define a regular brackets sequence in the following way: 1.
Brackets Sequence POJ - 1141 (區間dp)
gif == urn ++ char img ems utc pre Brackets Sequence POJ - 1141 題意:給一個括號序列,問最少添加多少個括號似的原序列匹配,並輸出新序列。 用dp[i][j]表示i到j最少添加幾個括號,flag[i][j]表
Brackets POJ - 2955 (區間dp)
pla clu for eof %d img rac end racket Brackets POJ - 2955 題意:給一個括號序列,問最多有多少個括號是可以配對的。 1 #include<cstdio> 2 #include<algori
Food Delivery ZOJ - 3469 (區間dp)
位置 turn pro pan return isp ive != truct Food Delivery ZOJ - 3469 題意:快遞員送外賣,n個客戶,起始位置為x,速度為v,每個客戶單位時間不滿意度增加hi,問最少增加多少不滿意度。 每一個客戶可能是從左側送到
CSUOJ-1980 不堪重負的數(區間dp)
inline 滿二叉樹 -a ems ext div des button problems 1980: 不堪重負的樹 Submit Page Summary Time Limit: 1 Sec Memory Limit: 128 Mb Subm
POJ 1991 Turning in Homework(區間DP)
clu sin highlight sort stream ret spa 作業 ref 題目鏈接 Turning in Homework 考慮區間DP f[i][j][0]為只考慮區間[i, j]且最後在a[i]位置交作業的答案。 f[i][j][1]為只考慮區間[
hdu6212 祖瑪(區間DP)
tro 位置 表示 中間 ron i+1 strong 就會 題意 題意 有一個長度為n的01串,我們可以在某個地方插入一個0或者1,那麽如果有連續顏色相同的>=3個,那麽這段就會消去,兩邊的合攏。問將所有01串消去,最少需要插入多少個。(n<=200)
括號匹配問題(區間dp)
最小值 很好 nbsp 需要 簡單的 棧模擬 pri tex 什麽 簡單的檢查括號是否配對正確使用的是棧模擬,這個不必再說,現在將這個問題改變一下:如果給出一個括號序列,問需要把他補全成合法最少需要多少步? 這是一個區間dp問題,我們可以利用區間dp來解決,直接看代碼吧!
修長城 (區間DP)
urn ret 世紀 log width hide 時間 main gif Time Limit: 1000 ms Memory Limit: 256 MB Description 大家都知道,長城在自然條件下會被侵蝕,因此,我們需要修復。現在是21世紀,
Codeforces 392E Deleting Substrin(區間dp)
read temp put tdi char i+1 void log ++ 題目大意: ? 給定vi,wi,每次可以在wi中選擇一個子段[l,r]滿足:? |wi-wi+1|=1 (l<=i<r)? 2wi-wi-1-wi+1>=0 (l<i<
洛谷 P3374 【模板】樹狀數組 1 如題(單點修改+區間查詢)
ace hold reg gif sticky too aps urn cnblogs P3374 【模板】樹狀數組 1 時空限制1s / 128MB 題目描述 如題,已知一個數列,你需要進行下面兩種操作: 1
【Uva10559】Blocks(區間DP)
log turn logs efi read etc body pre 數量 Description 題意:有一排數量為N的方塊,每次可以把連續的相同顏色的區間消除,得到分數為區間長度的平方,然後左右兩邊連在一起,問最大分數為多少。 \(1\leq N\leq200\) S
You Are the One HDU - 4283(區間dp)
eas value script names elf for stdio.h 表示 text You Are the One Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav
Topcoder SRM 301 Div2-1000 CorrectingParenthesization(區間DP)
完全 errors 實現 括號 cor ren opc fin 區間dp 題意 給定一個長度為偶數的字符串。這個字符串由三種括號組成。 現在要把這個字符串修改為一個符合括號完全匹配的字符串,改變一個括號的代價為$1$,求最小總代價。 區間DP。令$dp[i
【BZOJ】1260 [CQOI2007]塗色paint(區間dp)
c++ ide hid event pri display pro == spl 題目 傳送門:QWQ 分析 區間dp, 詳見代碼 代碼 /*****************************************