最近,迷戀上debug……
1.首先暴力一遍num[i][j]即從i到j串裡包含多少個子串
(注意首字母的使用)
2.f[i][j]表示前i個數劃分j次,最多單詞個數
f[i][j]=max(f[i][j],f[k][j-1]+num[k+1][i];
!注意j,k範圍
#include#define re return
#define inc(i,l,r) for(int i=l;i<=r;++i)
const int maxn=205,maxm=2005;
using namespace std;
templateinline void rd(t&x)
int p,cnt,k,n,vis[205];
char s[205],ss[7][205];
int f[205][205],num[205][205],len[7];
inline int vivi(int x,int y)
} re vv;
}inline void debug(int l)
}int main()
inc(i,1,length) }
inc(i,1,length)inc(j,1,min(k,i))inc(kk,j-1,i-1)
f[i][j]=max(f[i][j],f[kk][j-1]+num[kk+1][i]);
// debug(length);
printf("%d",f[length][k]);
}
跟著ns學dp系列 noip2001統計單詞個數
本題字串處理需要注意 單詞個數的計算 先算s i 表示以i開頭的單詞,若有則s i 1,否則為0.這要充分注意題目的要求 考試時很難想到。另外在算 i,j 中單詞的個數時,如果以i為開頭,需要判斷這個單詞結尾有沒有超過j,沒有才可計入。同樣需要注意有些狀態是達不到的,這時若不賦初值在動規時判斷,狀態...
NOIP2001 統計單詞個數
題三 統計單詞個數 30分 問題描述 給出乙個長度不超過200的由小寫英文本母組成的字母串 約定 該字串以每行20個字母的方式輸入,且保證每行一定為20個 要求將此字母串分成k份 1樣例 輸入 11 3 thisisabookyouareaoh4is aoksab輸出 說明 不必輸出 7 this ...
NOIP2001 統計單詞個數
p1026 統計單詞個數 給出乙個長度不超過200的由小寫英文本母組成的字母串 約定 該字串以每行20個字母的方式輸入,且保證每行一定為20個 要求將此字母串分成k份 1單詞在給出的乙個不超過6個單詞的字典中。要求輸出最大的個數。輸入格式 每組的第一行有二個正整數 p,k p表示字串的行數 k表示分...