BZOJ1703: [Usaco2007 Mar]Ranking the Cows 奶牛排名
Posted ONION_CYC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ1703: [Usaco2007 Mar]Ranking the Cows 奶牛排名相关的知识,希望对你有一定的参考价值。
【题意】给定n头牛和m对大小关系,求最坏情况下至少还需要比较几对奶牛的大小(在未确定顺序的奶牛对中随机比较)
【算法】floyd求传递闭包
【题解】可达说明大小已知,则不可达点对数量就是最少比较次数。
使用bitset优化传递闭包,复杂度O(n^3 /32)。
#include<cstdio> #include<bitset> #include<algorithm> using namespace std; const int maxn=1010; int n,m; bitset<maxn>b[maxn]; void floyd(){ for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) if(b[i][k])b[i]|=b[k]; } int main(){ scanf("%d%d",&n,&m); int u,v; for(int i=1;i<=m;i++){ scanf("%d%d",&u,&v); b[u][v]=1; } floyd(); int ans=0; for(int i=1;i<n;i++)for(int j=i+1;j<=n;j++)if(!b[i][j]&&!b[j][i])ans++; printf("%d",ans); return 0; }
以上是关于BZOJ1703: [Usaco2007 Mar]Ranking the Cows 奶牛排名的主要内容,如果未能解决你的问题,请参考以下文章
BZOJ1703: [Usaco2007 Mar]Ranking the Cows 奶牛排名
dfsBZOJ1703-[Usaco2007 Mar]Ranking the Cows 奶牛排名
[BZOJ1637][Usaco2007 Mar]Balanced Lineup
bzoj 1637: [Usaco2007 Mar]Balanced Lineup