分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

JSOI2010 连通数

发布时间:2023-09-06 02:35责任编辑:熊小新关键词:暂无标签

题目链接:戳我

用bitset优化一下floyd。。。。
如果to[i][j]==true,那么to[j][k]==1也可以转化成to[i][k]==1。

代码如下:

#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<bitset>using namespace std;int n,ans;char s[2010];bitset<2010>to[2010];int main(){ ???#ifndef ONLINE_JUDGE ???freopen("ce.in","r",stdin); ???#endif ???scanf("%d",&n); ???for(int i=1;i<=n;i++) ???{ ???????scanf("%s",s+1); ???????for(int j=1,len=strlen(s+1);j<=len;j++) ???????????if(s[j]=='1') ???????????????to[i][j]=1; ???????to[i][i]=1; ???} ???for(int i=1;i<=n;i++) ???????for(int j=1;j<=n;j++) ???????????if(to[i][j]) to[i]|=to[j]; ???for(int i=1;i<=n;i++) ans+=to[i].count(); ???printf("%d\n",ans); ???return 0;}

其实我还是不知道bitset到底优化在哪里了。。。知道了再补上qwqwq

JSOI2010 连通数

原文地址:https://www.cnblogs.com/fengxunling/p/10565225.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved