hdu 6415 - DP
題目連結:點選這裡
解題思路:
根據題意我們很容易想到納什均衡點就在n*m的值的位置
我們現在從大到小來放這些數。假設1位置是第一個數放的位置。那麼接下來第二個數肯定只能放在紅色線上除了1以外的任意地方。假設他放在了2的位置。那麼第三個數就會又多出黃色那條線的選擇。
圖中也很容易看出點肯定是放在現在這個狀態的交叉點上面。並且i行橫線j行豎線的交叉點數是i*j
原有的問題就可以轉化成在n條長為m的橫線和m條長為n的豎線上面放n*m個點的方案數。
另dp[i][j[k]表示在i個橫線j個豎線上放k個數的方案數。
那麼它的轉移途徑就有三種:
dp[i-1][j][k-1] -> dp[i][j[k],在新生成的一個橫線中放第k個數
dp[i][j-1][k-1] -> dp[i][j[k],在新生成的一個豎線中放第k個數
dp[i][j][k-1] -> dp[i][j[k],在還剩下沒放的交叉點中放第k個數
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mx = 81;
int n,m,mod;
ll dp[mx][mx][mx*mx];
int main()
{
int t;
scanf("%d",&t);
while(t--){
scanf("%d%d%d",&n,&m,&mod);
dp[1][1][1] = n*m%mod;
for(int k=2;k<=n*m;k++){
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i*j<k) continue;
dp[i][j][k] = dp[i-1][j][k-1]*j*(n-i+1)%mod;
dp[i][j][k] = (dp[i][j][k]+dp[i][j-1][k-1]*i*(m-j+1)%mod)%mod;
dp[i][j][k] = (dp[i][j][k]+dp[i][j][k-1]*(i*j-k+1)%mod)%mod;
}
}
}
printf("%lld\n",dp[n][m][n*m]);
}
return 0;
}
相關文章
- HDU6415(DP)
- HDU 6415 (計數dp)
- HDU 6415 Rikka with Nash Equilibrium (DP)UI
- HDU6415:Rikka with Nash Equilibrium(dp)UI
- HDU 6415(dp/記憶化搜尋)
- HDU多校第九次 6415 (dp
- HDU-6415 Rikka with Nash Equilibrium (DP/找規律)UI
- HDU 6415(dp/找規律-2018多校第九場1001)
- 【dp+組合數學】hdu 2018 多校第九場 1001 Rikka with Nash Equilibrium hdu 6415UI
- hdu 6415 Rikka with Nash EquilibriumUI
- hdu 2111 Saving HDU (DP)
- 【記憶優化搜尋/dp】HDU - 6415 - 杭電多校第九場 - Rikka with Nash Equilibrium優化UI
- [DP]HDU6415(2018多校訓練賽第九場 Problem A) Rikka with Nash Equilibrium 題解UI
- HDU1024(dp)
- HDU 6035 Colorful Tree(樹形DP)
- HDU 1074 Doing Homework(狀壓DP)
- 2018 Multi-University Training Contest 9----hdu 6415 Rikka with Nash EquilibriumAIUI
- HDU4652 Dice(期望dp推式子)
- HDU 5816 Hearthstone(狀態壓縮DP+概率)
- hdu--5418Victor and World+狀態壓縮DP
- 「暑期訓練」「基礎DP」 Monkey and Banana (HDU-1069)NaN
- HDU7458-啟發式合併最佳化DP
- hdu--4455+ Substrings+2012杭州區域賽C題+DP
- 「暑期訓練」「基礎DP」免費餡餅(HDU-1176)
- HDU 6787 Chess 2020百度之星 初賽三 T5 題解 dp
- [kuangbin帶你飛]專題十二 基礎DP1 D - Doing Homework HDU - 1074
- dp 套 dp(dp of dp)小記
- DP套DP
- [DP] 數位DP
- 【DP】Educational DP Contest
- dp套dp 隨寫
- Shape of HDU
- HDU 3349
- HDU 2052(C語言+註釋)+HDU 2090C語言
- 【DP】區間DP入門
- dp
- [DP] DP最佳化總結
- 簡單的揹包問題(入門)HDU2602 HDU2546 HDU1864