hdu 6143 組合數學 dp

2022-08-19 20:12:14 字數 814 閱讀 7186

題意: m個字母,組成兩個長度為n的字元,其中乙個字母不能同時出現在兩個串中。問總方案?

思路:列舉m個中恰好有i個在第乙個串,有j個在第二個串。。然後求個和。。具體其中n個空恰好k種顏色,可以用dp預處理。

dp[j][i]=((dp[j-1][i]*i)%mod+(dp[j-1][i-1]*i)%mod)%mod;

**:

#includeusing namespace std;

#define mem(a,b) memset(a,b,sizeof(a))

#define bug puts("bug");

#define pb push_back

#define mp make_pair

#define x first

#define y second

typedef unsigned long long ll;

typedef pairpii;

const int maxn=4e5+10;

const int mod=1e9+7;

using namespace std;

int t,m,n,k;

ll c[2005][2005];

ll dp[2005][2005];

ll a(ll x)

int main()

for (ll i = 1; i < 2005; i++)

scanf("%d",&t);

while(t--)

printf("%lld\n",ans);

}return 0;

}

HDU 6143 排列組合 DP

題意 給出m字母,現在要求用m個字母去取名字,firstname 和 lastname 不能同時存在相同字母,問 會有多少種組合數,對於firstname 和 lastname 必須保證長度為n。資料量 0m 2000 題意 最開始最開始用的dp去推出所有的解,複雜度達到了n3 平常對複雜度的不重視...

HDU 5698 組合數學

傳送門 計算走i步的方法數 走i步 可以分解為在x方向上走的 x1,x2,xi 在y1,y2,yi 步 就是將 n 1分解為i的不為0的數,就相當於在n 2個空裡插入i 1個版 將 m 1 分解為i個不為0的數 也就是 c n 2,i 1 c m 2,i 1 總數也就是sum c n 2,i 1 c...

HDU 4248 DP與組合數學

include include const int maxn 110 const int mod 1e9 7 int c maxn maxn maxn num maxn long long dp maxn maxn maxn int n,kase void init int main int arg...