码迷,mamicode.com
首页 > 其他好文 > 详细

记一次由bitset引起的21发TLE

时间:2020-02-13 22:41:33      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:one   col   mamicode   define   std   ++   纪念   inf   eset   

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

标签:one   col   mamicode   define   std   ++   纪念   inf   eset   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!