牛客 2018多校訓練 暑假第一場

2021-08-21 14:27:43 字數 1937 閱讀 1674

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從第一位開始比較,當比到其中最...