HDU多校第九次 6415 (dp
dp是不可能的,這輩子都寫不出的。。。
當放最大數字的時候只能佔據一行一列
其餘的數字
1. 只佔據1行
2. 只佔據1列
3. 填充在被佔據過的行和列裡面
這裡需要對取模優化
有兩種方法吧
1. 減少取模次數
2. 結果值改成int,每次都存到int裡面
void update(int &k1,long long k2){//後面的數字用來儲存可能爆int的乘法
k1=(k1+k2)%mo;
}
增加新的點不增加行列:放在交點
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll dp[6455][85][85]; //dp[i][j][k]:有i個點,佔據了j行k列有幾種放法
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,m,mod;
scanf("%d%d%d",&n,&m,&mod);
memset(dp,0,sizeof(dp));
dp[1][1][1]=n*m;
for(int i=1;i<n*m;i++)
{
for(int j=1;j<=n;j++)
{
for(int k=1;k<=m;k++)
{
dp[i+1][j+1][k]=(dp[i+1][j+1][k]+(n-j)*k*dp[i][j][k])%mod; //佔據的新的一行所能放的可能
dp[i+1][j][k+1]=(dp[i+1][j][k+1]+(m-k)*j*dp[i][j][k])%mod; //佔據的新的一列所能放的可能
if(dp[i+1][j+1][k]>=mod) dp[i+1][j+1][k]%=mod; //mod太多會超時,微弱優化
if(dp[i+1][j][k+1]>=mod) dp[i+1][j+1][k]%=mod;
ll p=j*k-i; //計算有多少個可以放的交點
if(p<=0) continue; //不能放就跳過
dp[i+1][j][k]=dp[i+1][j][k]+p*dp[i][j][k]; //放交點不增加行列
if(dp[i+1][j][k]>=mod) dp[i+1][j][k]%=mod;
}
}
}
printf("%lld\n",dp[n*m][n][m]%mod);
}
return 0;
}
相關文章
- hdu 6415 - DP
- HDU 6415(dp/找規律-2018多校第九場1001)
- HDU6415(DP)
- HDU 6415 (計數dp)
- 【dp+組合數學】hdu 2018 多校第九場 1001 Rikka with Nash Equilibrium hdu 6415UI
- HDU 6415 Rikka with Nash Equilibrium (DP)UI
- HDU6415:Rikka with Nash Equilibrium(dp)UI
- 【記憶優化搜尋/dp】HDU - 6415 - 杭電多校第九場 - Rikka with Nash Equilibrium優化UI
- [DP]HDU6415(2018多校訓練賽第九場 Problem A) Rikka with Nash Equilibrium 題解UI
- HDU 6415(dp/記憶化搜尋)
- HDU-6415 Rikka with Nash Equilibrium (DP/找規律)UI
- hdu 6415 Rikka with Nash EquilibriumUI
- 2020hdu多校8
- hdu 2111 Saving HDU (DP)
- HDU1024(dp)
- hdu6052 To my boyfriend 2017多校2
- 杭電多校第10場 6887 Task Scheduler(DP)
- 2020HDU多校第三場 1005 Little W and Contest
- hdu-5384Danganronpa+多校訓練+AC自動機
- HDU 6035 Colorful Tree(樹形DP)
- HDU 1074 Doing Homework(狀壓DP)
- 2018 Multi-University Training Contest 9----hdu 6415 Rikka with Nash EquilibriumAIUI
- HDU6301 Distinct Values (多校第一場1004) (貪心)
- HDU4652 Dice(期望dp推式子)
- HDU 5816 Hearthstone(狀態壓縮DP+概率)
- hdu--5418Victor and World+狀態壓縮DP
- 「暑期訓練」「基礎DP」 Monkey and Banana (HDU-1069)NaN
- HDU7458-啟發式合併最佳化DP
- HDU 6311 - Cover [2018杭電多校聯賽第二場 C](尤拉通路/迴路)
- hdu--4455+ Substrings+2012杭州區域賽C題+DP
- 「暑期訓練」「基礎DP」免費餡餅(HDU-1176)
- 第九次作業
- HDU 6787 Chess 2020百度之星 初賽三 T5 題解 dp
- [kuangbin帶你飛]專題十二 基礎DP1 D - Doing Homework HDU - 1074
- 2024 牛客多校 6
- 2024 牛客多校 7
- 2024 牛客多校 8
- 2024 牛客多校 2