【題意】:
對於乙個包含n個數的(n為奇數)序列val[ ],排序後的 val[ (n+1) / 2 ] 定義為 median;
有 n 個數,並有 m 組關係,對於第 i 組關係 ai,bi 代表第 val[ai] > val[bi];
但並沒有給出具體的數值;
輸出乙個包含 n 個元素的陣列 s[ ] ;
讓你判斷第 i 個數 val[ i ]是可能為中位數,如果是,第 i 位為 1;
如果不是,第 i 位為 0;
輸出 n 個數,其中第 i 個數為 0 或 1,含義如上;
【題解】:
1、判環,只要有環全零
2、跑乙個flody來時算出來,然後直接處理即可,
最後加判斷
正向cnt1<=n/2
反向cnt2<=n/2
即可
#includeusing namespace std;
const int n = 105;
int a[n][n];
int vis[n];
int main()
/*for(int i=1;i<=n;i++)}*/
for(int k=1;k<=n;k++)}}
}int f = 1 ;
for(int i=1;i<=n;i++)
}if( cnt1 <= (n/2) && cnt2 <=(n/2) )
}if( !f ) memset(vis,0,sizeof(vis));
for(int i=1;i<=n;i++)
printf("\n");
}return 0;
}
ZOJ 3690 矩陣快速冪乘
不難推出 m k k m k k n 1 f n 0 0 m k k 1 接下來用矩陣冪乘就可以了!include include include include include include include includeusing namespace std typedef long long...
矩陣快速冪 ZOJ 2853 Evolution
提交上去是ac的,但是在做的過程中有個問題。我是在win上用vs2012編譯的,執行的時候出現stack overflow,然後我換用了code blocks,也出現了同樣的問題,我仔細看了 一步一步除錯,覺得沒有問題,但是執行起來就是出問題。我把n的值改小了點,就可以了。後來我換了linux 的p...
zoj 3497 Mistwald 矩陣快速冪
知道了矩陣的新作用,矩陣a p,a i j 的數值是從i到j長度為p的路徑條數,矩陣相乘如果a i k為1,b k j 為1,a i j 必然 1,表明以k為橋梁將i和j連線起來,和floyd演算法本質上是一致的。傳送門 include include include int len matrix ...