博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P4306 [JSOI2010]连通数
阅读量:7197 次
发布时间:2019-06-29

本文共 692 字,大约阅读时间需要 2 分钟。

思路

要求求每个点能到达的点数就是传递闭包

然后n^3Floyd可做,但是n=2000,然后bitset压位
复杂度\(O(\frac{n^3}{32})\),能过

代码

#include 
#include
#include
#include
#include
#include
using namespace std;bitset<2010> S[2010];int n;int main(){ scanf("%d",&n); for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ char c=getchar(); while(c!='0'&&c!='1') c=getchar(); if(i==j) S[i][j-1]=1; else S[i][j-1]=c-'0'; } } for(int i=1;i<=n;i++) for(int j=1;j<=n;j++){ if(S[i][j-1]) S[i]|=S[j]; } int ans=0; for(int i=1;i<=n;i++) ans+=(S[i].count()); printf("%d\n",ans); return 0;}/*30100011009*/

转载于:https://www.cnblogs.com/dreagonm/p/10496098.html

你可能感兴趣的文章
算法导论day3
查看>>
WPF之数据触发器 改变控件背景色或闪烁
查看>>
ABP(现代ASP.NET样板开发框架)系列之21、ABP展现层——Javascript函数库
查看>>
获取url总结
查看>>
九零后女孩币圈变形记
查看>>
BZOJ3165 & 洛谷4097:[HEOI2013]Segment——题解
查看>>
ansible 的user模块
查看>>
简单Java类 全网最详细讲解 !!!
查看>>
javascript作用域和作用域链
查看>>
【IntelliJ Idea】idea下hibernate反向生成工具,根据数据表生成实体
查看>>
PDM/CDM中进行搜索
查看>>
几种HtmlEncode的区别(转)
查看>>
怎样在myeclipse下,打开已有的项目
查看>>
Android-用ListView显示SDCard文件列表
查看>>
Sass 使用总结!
查看>>
二分查找法及其扩展
查看>>
合并有序链表 计算1加到n不用条件判断
查看>>
C++/OC 混编
查看>>
在Flex3中使用Runtime Shared Library (RSL)
查看>>
Rice Rock
查看>>