首页 > 其他 > 详细

记一次由bitset引起的21发TLE

时间:2020-02-13 23:33:40      阅读:119      评论:0      收藏:0      [点我收藏+]

1、直接用bitset进行 & | ^ 操作,它的效率取决于bitset的长度

     长为1e5的bieset进行1e5次 位运算,1s+

2、any(),none()也与长度有关

     长为1e5的bitset进行1e5次,0.8s+

3、all()取决于里面1的数量,如果全是1的话,根any()差不多

#include<cstdio>
#include<bitset>

using namespace std;

#define N 100000

bitset<N>b[2],c; 

int main()
{
    int sum=0;
    for(int i=1;i<=100000;++i) 
    {
        c=b[0]&b[1];
    //    if(c.any()) sum++;
    }
}

 

血泪纪念。。

我还自以为改成用bitset更快了。。死磕3小时。。。

技术分享图片技术分享图片技术分享图片技术分享图片

 

记一次由bitset引起的21发TLE

原文:https://www.cnblogs.com/TheRoadToTheGold/p/12305356.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!