problem description
北京迎來了第乙個奧運會,我們的歡呼聲響徹中國大地,所以今年的奧運金牌 day day up!比爾蓋茲坐上鳥巢裡,手裡搖著小紙扇,看的不亦樂乎,被俺們健兒的頑強拼搏的精神深深的感動了。反正我的錢也多的沒地方放了,他對自己說,我自己也來舉辦乙個奧運會,看誰的更火。不過他的奧運會很特別:input1參加人員必須是中國人;
2至少會加法運算(因為要計算本人獲得的金牌數)
他知道中國有很多的名勝古蹟,他知道自己在t1 到 t2天內不可能把所有的地方都玩遍,所以他決定指定兩個地方v1,v2,如果參賽員能計算出在t1到t2天(包括t1,t2)內從v1到v2共有多少種走法(每條道路走需要花一天的時間,且不能在某個城市停留,且t1=0時的走法數為0),那麼他就會獲得相應數量的金牌,城市的總數<=30
,兩個城市間可以有多條道路
,每條都視為是不同的。
本題多個case,每個case:output輸入乙個數字n表示有n條道路
010000
接下來n行每行讀入兩個數字 p1,p2 表示城市p1到p2有道路,並不表示p2到p1有道路 (
0<=p1,p2<2^32
)輸入乙個數字k表示有k個參賽人員
接下來k行,每行讀入四個資料v1,v2,t1,t2 (
0<=t1,t2<10000)
對於每組資料中的每個參賽人員輸出乙個整數表示他獲得的金牌數(mod 2008)sample input
612sample output1323
3231
2131
2001
21100483
50
0題意:有向圖中求a點到b點路徑長度為t1~t2的路徑總數1506
0
離散數學中,有向圖的鄰接矩陣a表示所有點之間路徑長度為1的路徑數量,a^n則表示路徑長度為n的路徑數量,故需要求某兩點在(a^t1)~(a^t2)的路徑數量之和
注意離散化的方法。用map來離散化。
1view code#pragma comment(linker, "/stack:1024000000,1024000000")
2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include
10 #include11 #include12 #include13 #include14 #include 15
using
namespace
std;
16#define pi acos(-1.0)
17#define max(a,b) (a) > (b) ? (a) : (b)
18#define min(a,b) (a) < (b) ? (a) : (b)
19#define ll long long
20#define eps 1e-10
21#define mod 2008
22#define n 36
23#define inf 1e12
24int
n,q,tmp;
25 mapm;
26struct
matrix matrix[10006
];29
matrix mul(matrix a,matrix b)37}
38}39return
res;40}
4142
intmain()
4354
if(m.find(b)==m.end())
57 matrix[0].mp[m[a]][m[b]]++;58}
59for(int i=1;i<10006;i++)
62 scanf("
%d",&q);
63for(int i=0;i)
70int ans=0;71
for(int j=t1-1;j)
75 printf("
%d\n
",ans%mod);76}
77}78return0;
79 }
hdu 2254 奧運(矩陣快速冪)
題目分析 求t1 t2天內,v1 v2一共有多少條的路徑。就是要用到離散數學的可達矩陣的n次冪各元素的值就是經過n條路可以到達該點。所以說這道題說白了就是叫你求 a t1 a t1 1 a t2 輸出 v1v2該元素的值模2008 注意負數的處理 所以就是要用到矩陣降冪 二分求和。注意 1.可達矩陣...
hdu 2254 矩陣的應用
題意 有向圖中求a點到b點路徑長度為t1 t2的路徑總數 離散數學中,有向圖的鄰接矩陣a表示所有點之間路徑長度為1的路徑數量,a n則表示路徑長度為n的路徑數量,故需要求某兩點在 a t1 a t2 的路徑數量之和 1 include2 include3 include4 const int n 3...
快速矩陣冪HDU2254
題意 乙個有向圖,兩個頂點間可能有多條邊,視為不同的路徑,問從v1到v2之間的路徑長度大小在 t1,t2 的方案數mod 2008。輸入n條邊,p1,p2。因為p1,p2 2 32。但是總的頂點數不超過30.所以進行離散化即可。而且有可能t1 t2,所以要判斷一下。輸入的v1,v2可能也不在有向圖內...