没什么别的,就希望自己记住那些函数
1>floyd+bitset优化
#include<cstdio> #include<cstdlib> #include<bitset> using namespace std; int n; const int N=2003; char s[N]; bitset <N> bs[N]; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%s",s+1); for(int j=1;j<=n;j++) if(s[j]=='1') bs[i][j]=1; bs[i][i]=1; } int ans=0; for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) if(bs[i][j]) bs[i]|=bs[j]; ans+=bs[i].count(); } printf("%d ",ans); return 0; }