a
題意:對於矩陣【n,m】,每個位置的元素<=其右、下的元素。
思路:比賽完全想錯思路,賽後看題解,,終於摸懂,就是轉換思路,0,1之間可用一條線分隔開,1,2之間也可以用一條直線分隔開,而每條直線,從起點到終點,一共需要經過(n+m)條邊,即(n+m)次選擇行方向還是列方向,一定要選擇m次列方向,即c【(n+m),m】,兩條線,隨機組合,取平方。然後需要除去兩條線交叉的形式,這時候就像直播講解說的,將1,2的分隔線向右下移一格,這樣只需要求交叉的部分就可以了,也可以理解為凡是交叉的,可以將相交的後半部分互換,然後就就是[1,0]到[n-1,m]和[0,1]到[n,m-1]的組合數之積了。
**:ps:這題理解了,**巨簡單,,直接粘標稱了,,
#include const int mod = 1e9 + 7;
const int n = 1005;
int dp[n][n];
void update(int& x, int a)
}int sqr(int x)
int main()
if (j) }}
int n, m;
while (scanf("%d%d", &n, &m) == 2)
}
b
題意:n*n的矩陣,只能填0,1,2,求是對角線為0的每行和為2 的對稱矩陣的種類數
思路:矩陣可以理解成n個點的鄰接矩陣。每個點的度都是2,沒有自環,可以有重邊。求種數。
又可以推得每個點都屬於且僅屬於乙個環
這個題比賽的時候也沒有做出來,,完全沒有想到可以化成圖 的關係,。。
對於n個點,可以理解為n-1個舊點加乙個新點,然後考慮新點可以與哪些舊點組成乙個環,
取出乙個點的情況和剩下兩個點的情況
因為不存在對稱的情況,所以需要單獨考慮。,剩下乙個點是0,全部取出與新點組成乙個環的情況有(n-1)!/2的情況
dp[n]=∑(i=2,,n-3)dp[n-1-i]*(i!)/2+(n-1)!/2;
然後簡化公式,dp【n】-dp【n-1】(n-1)可以消掉∑,移向得出dp【n】的公式
dp[n]=(n-1)(dp[n-1]+dp[n-2])-(n-1)(n-2)dp[n-3]/2;
**:
#include long long dp[100005];
int mod;
int main()
printf("%lld\n", dp[n]);
}}
d
題意:兩個圖,均有n個點,第乙個圖有m1條邊,第二個圖有m2條邊,求第二個圖的子圖與第乙個圖同構的數量
思路:這個題因為資料量小,所以很容易想到搜尋,但是同構的判斷卡了一些時間,後來想到選擇相同的邊組成的子圖是同一種同構,所以對點進行暴力匹配,最後看選出的邊的組成是否選擇過就可以了,這裡對每條邊都進行了編號,然後1《感想:這個題感覺比較水,想清楚同構用邊來判斷就比較簡單了。聽題解直播時,他講的差不多複雜度也就這樣了。。就是同構的重複取是最後除以第乙個圖對自己的自同構種類數
**:
#includeusing namespace std;
int n,m1,m2,a,b;
int look[10][10],vis[10][10],pre[10],w[10],ans;
mapmm;
struct aa
pos[50];
int dfs(int rt,long long pp)
pos[200005];
struct aa
for(int i=1;i<=t;i++)
if(j>m) break;
add(i,-1);
f[a[i]]=pos[f[a[i]]].next;
if(f[a[i]]!=-1)
}for(int i=1;i<=m;i++)
}return 0;
}
2018牛客網暑期ACM多校訓練營第一場
將矩陣看作乙個鄰接矩陣,於是問題轉化成了 請計算有多少個無向圖滿足所有點的度數都為2 則圖應該是有若干個環組成,dp i 表示有i個點的圖的個數,然後可以列舉最後乙個點所在環轉移 x i 表示燈 i 是亮否 求 e sum x i 3 e sum x i x j x k sum p x i x j ...
2019牛客暑期多校訓練營(第一場)
題意 題解 c 版本一 題意 題解 c 版本一 題意 題解 c 版本一 題意 題解 c 版本一 題意 題解 c 版本一 題意 題解 數學 計算幾何 邏輯推理 c 版本一 題解 特例 正三角形 取重心 中點 頂點,則期望為 公式 author stzg language c include inclu...
2020牛客暑期多校訓練營(第一場)
g baxianguohai,gexianshentong h minimum cost flow i 1 or 2 j easy integration 2020牛客暑期多校訓練營 第一場 兩個字串a和b,對aaaa 和bbbb 字串a和b無限重複 方法一 字串a和b從第一位開始比較,當比到其中最...