记一次由bitset引起的21发TLE
Posted theroadtothegold
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次由bitset引起的21发TLE相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章