1.題目鏈結。題目大意:給定乙個矩陣原來矩陣裡面所有的資料都是非負數,讓你確定是不是存在乙個k使得這個矩陣的k次冪之後,矩陣的每乙個資料都是正數。
2.我們可以把這個矩陣看成乙個有向圖的鄰接矩陣,我們知道,在有向圖的鄰接矩陣裡面,它k次冪之後,每個元素的值是具有十分重要的意義的。matrix[a][b]-->matrix^k[a][b].就是代表從a到b走了k步有多少種方案數。這個之前提到過。其實就是在說這個圖是不是強連通的。如果圖是強連通的,任意兩個點都是可以互相到達的,那麼一定是存在乙個k使得k次之後,所有的元素都不為0.這個k是任意兩點互相達到的步數的最小公倍數。當然了題目沒有讓我們求k,只是判斷圖是不是強連通,直接跑一遍tarjan演算法統計圖中強連通的數量即可。
#include#include #pragma warning(disable:4996)
using namespace std;
const int n = 2e3 + 10;
int gra[n][n];
int sta[n], vis[n], low[n], dfn[n], top;
void tarbfs(int k, int cnt, int &num, int n)
if (dfn[k] == low[k]) }
int tarjan(int n)
return num;
}int main()
} int num = tarjan(n);
if (num == 1) puts("yes");
else puts("no");
} return 0;
}
Codeforces 402B 恥辱的一題
這題昨天晚上花了我1個小時50多分鐘來搞,都沒有搞定。後來看別人 直接暴力列舉第乙個數的值來做。最多1000 1000的複雜度。當時怎麼就沒想到呢?還有為啥我的方法不對呢。暴力方法 include include include include include define mod 10000000...
Codeforces 402B 恥辱的一題
這題昨天晚上花了我1個小時50多分鐘來搞,都沒有搞定。後來看別人 直接暴力列舉第乙個數的值來做。最多1000 1000的複雜度。當時怎麼就沒想到呢?還有為啥我的方法不對呢。暴力方法 include include include include include define mod 10000000...
一種計算e的方法
原理 平均e個 0,1 之間的隨機數之和會大於1.原因 n個數之和小於1的概率是1 n 則n個數之和大於1的概率則是1 1 n 恰好n個數之後大於1的概率,等於n個數之後大於1的概率減去n 1個數之和大於1的概率,即 1 1 n 1 1 n 1 n 1 n 則n的期望為 sum n 1 n n su...