HDU-6415 Rikka with Nash Equilibrium (DP/找規律)
Rikka with Nash Equilibrium
題意
定義一個大數為一個矩陣中所在行,所在列的最大值。給出一個N,M,MOD,問可以構造多少矩陣來使得一個矩陣最多隻有一個大數
思路
我們先從最大的數開始考慮,這個數可以放在任意位置,第二大的數則只能放在最大數所在的行或者列,第三大的數則可以有更多的選擇,這樣我們可以列出一個DP方程。
dp[i+1][j][k+1]+=dp[i][j][k]∗(n−i)∗j
d
p
[
i
+
1
]
[
j
]
[
k
+
1
]
+
=
d
p
[
i
]
[
j
]
[
k
]
∗
(
n
−
i
)
∗
j
<script type="math/tex; mode=display" id="MathJax-Element-1"> dp[i+1][j][k+1] += dp[i][j][k] * (n-i) * j </script>
dp[i][j+1][k+1]+=dp[i][j][k]∗(m−j)∗i
d
p
[
i
]
[
j
+
1
]
[
k
+
1
]
+
=
d
p
[
i
]
[
j
]
[
k
]
∗
(
m
−
j
)
∗
i
<script type="math/tex; mode=display" id="MathJax-Element-2"> dp[i][j+1][k+1] += dp[i][j][k] * (m-j) * i </script>
dp[i][j][k+1]+=dp[i][j][k]∗(i∗j−k)
d
p
[
i
]
[
j
]
[
k
+
1
]
+
=
d
p
[
i
]
[
j
]
[
k
]
∗
(
i
∗
j
−
k
)
<script type="math/tex; mode=display" id="MathJax-Element-3"> dp[i][j][k+1] += dp[i][j][k] * (i * j-k) </script>
程式碼
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int dp[83][83][83*83];
int n,m,MOD;
int main()
{
int t;
scanf("%d",&t);
while(t--){
scanf("%d%d%d",&n,&m,&MOD);
for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) for(int k=i+j-1;k<=i*j;k++) dp[i][j][k] = 0;
dp[1][1][1]=n*m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
for(int k=i+j-1;k<=i*j;k++){
dp[i+1][j][k+1] = (dp[i+1][j][k+1]+1LL*dp[i][j][k]*(n-i)*j%MOD)%MOD;
dp[i][j+1][k+1] = (dp[i][j+1][k+1]+1LL*dp[i][j][k]*(m-j)*i%MOD)%MOD;
dp[i][j][k+1] = (dp[i][j][k+1] +1LL*dp[i][j][k]*(i*j-k)%MOD)%MOD;
}
}
}
printf("%d\n",dp[n][m][n*m]);
}
}
相關文章
- HDU 6415 Rikka with Nash Equilibrium (DP)UI
- HDU6415:Rikka with Nash Equilibrium(dp)UI
- hdu 6415 Rikka with Nash EquilibriumUI
- 【記憶優化搜尋/dp】HDU - 6415 - 杭電多校第九場 - Rikka with Nash Equilibrium優化UI
- [DP]HDU6415(2018多校訓練賽第九場 Problem A) Rikka with Nash Equilibrium 題解UI
- 【dp+組合數學】hdu 2018 多校第九場 1001 Rikka with Nash Equilibrium hdu 6415UI
- 打表找規律
- 2018 Multi-University Training Contest 9----hdu 6415 Rikka with Nash EquilibriumAIUI
- HDU 6298 Maximum Multiple(找規律)
- HDU 4951 Multiplication table(找規律)
- Touring cities (找規律 哈密爾頓迴路)
- HDU5139 Formula (找規律+離線處理)ORM
- Equilibrium腕錶能顯示日月執行規律:天文愛好者必備UI
- HDU 5795 A Simple Nim (SG函式+打表找規律)函式
- LeetCode-6. Z字形變換(找規律)LeetCode
- codeforces 340CTourist Problem(找規律數學題)
- HUNAN -11566 Graduation Examination(找規律)NaN
- Gym - 101532A Subarrays Beauty(位操作找規律)
- HDU 5439 Aggregated Counting(找規律+預處理)
- 【組合數+找規律】codeforces 815B - Karen and Test
- 8.13(優先佇列貪心維護+打表找規律+對頂堆優先佇列+DFS減枝+貪心dp)佇列
- HDU 2897-邂逅明下(博弈-SG函式打表找規律)函式
- QOJ7789-一道位運算找規律好題
- ZOJ Monthly, January 2019 - A Little Sub and Pascal's Triangle(找規律)
- HDU 1847 Good Luck in CET-4 Everybody!(找規律版巴什博奕)Go
- EMS單號規律與順豐單號規律(C#)C#
- HDU 1847-Good Luck in CET-4 Everybody!(博弈-SG函式/找規律)Go函式
- A Multiplication Game (博弈,規律)GAM
- 【LeetCode動態規劃#04】不同的二叉搜尋樹(找規律,有點像智力題)LeetCode動態規劃
- DP動態規劃-爬塔(雙層dp)動態規劃
- leedcode-單詞規律
- 動態規劃(DP)動態規劃
- 圖片跨域規律探尋跨域
- LeetCode-單詞規律LeetCode
- 索引的應用規律總結索引
- Java欄位初始化規律Java
- 山東省第四屆ACM大學生程式設計競賽-Alice and Bob(二進位制&&找規律)ACM程式設計
- 軟體開發的21條規律