hdu 2254 矩陣的應用

2021-09-06 08:24:06 字數 920 閱讀 1204

題意:有向圖中求a點到b點路徑長度為t1~t2的路徑總數

離散數學中,有向圖的鄰接矩陣a表示所有點之間路徑長度為1的路徑數量,a^n則表示路徑長度為n的路徑數量,故需要求某兩點在(a^t1)~(a^t2)的路徑數量之和

1 #include2 #include3 #include4

const

int n=31;5

const

int m=2008;6

using

namespace

std;

7int

n,len;

8struct

matrix;

1112 matrix mat[10001

];13 mapmp;

1415 matrix mul(matrix &a,matrix &b)24}

25}26return

c;27}28

/*29

matrix pow(int n)else 37}

38*/

3940

intmain()

51if(mp.find(p2)==mp.end())

54 mat[0].map[mp[p1]][mp[p2]]++;55}

56for(int i=1;i<10001;i++)

59 scanf("

%d",&k);

60int

v1,v2,t1,t2;

61while(k--)

67int ans=0;68

for(int i=t1-1;i)

71 printf("

%d\n

",ans%m);72}

73}74return0;

75 }

hdu 2254 奧運(鄰接矩陣應用)

problem description 北京迎來了第乙個奧運會,我們的歡呼聲響徹中國大地,所以今年的奧運金牌 day day up 比爾蓋茲坐上鳥巢裡,手裡搖著小紙扇,看的不亦樂乎,被俺們健兒的頑強拼搏的精神深深的感動了。反正我的錢也多的沒地方放了,他對自己說,我自己也來舉辦乙個奧運會,看誰的更火。...

快速矩陣冪HDU2254

題意 乙個有向圖,兩個頂點間可能有多條邊,視為不同的路徑,問從v1到v2之間的路徑長度大小在 t1,t2 的方案數mod 2008。輸入n條邊,p1,p2。因為p1,p2 2 32。但是總的頂點數不超過30.所以進行離散化即可。而且有可能t1 t2,所以要判斷一下。輸入的v1,v2可能也不在有向圖內...

hdu 2254 奧運(矩陣快速冪)

題目分析 求t1 t2天內,v1 v2一共有多少條的路徑。就是要用到離散數學的可達矩陣的n次冪各元素的值就是經過n條路可以到達該點。所以說這道題說白了就是叫你求 a t1 a t1 1 a t2 輸出 v1v2該元素的值模2008 注意負數的處理 所以就是要用到矩陣降冪 二分求和。注意 1.可達矩陣...