当前位置: 首页>>代码示例>>C++>>正文


C++ bitset::flip方法代码示例

本文整理汇总了C++中bitset::flip方法的典型用法代码示例。如果您正苦于以下问题:C++ bitset::flip方法的具体用法?C++ bitset::flip怎么用?C++ bitset::flip使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在bitset的用法示例。


在下文中一共展示了bitset::flip方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: printf

    template<class V> void print_container(V& container, bitset<MAX_BITS_SIZE>& flag, bool reverse, bool is_servercmp)
    {
      if (reverse)
      {
        flag.flip();
      }
      typename V::iterator it = container.begin();

      if (!is_servercmp) // print different block
      {
        int32_t count = static_cast<int32_t> (flag.count());
        for (int32_t i = 0, c=0; (it != container.end()) && (count > 0); i++, it++)
        {
          if (flag.test(i))
          {
            cout << *it ;
            if((++c) % 20 == 0)
              cout<<"\n";
            else
              cout<<" ";
            count--;
          }
        }
        printf(" [%d]\n", static_cast<int32_t>((flag.count() - count)));
      }
      else
      {
        for (int32_t i = 0; it != container.end(); i++, it++)
        {
          printf("%23s%c", tbsys::CNetUtil::addrToString(*it).c_str(),
              suffix(flag[i]));
        }
        printf(" [%zd]\n", container.size());
      }
    }
开发者ID:keoyeop,项目名称:tfs,代码行数:35,代码来源:cmp_factory.cpp

示例2: dfs

 void dfs(vector<vector<int>>& vv, bitset<maxNUM>& bt, int pos, int n, int k) {
     if(pos > n || bt.count() > k) return ;
     if(bt.count() == k && pos == n){
         string ans = bt.to_string();
         vector<int> vt;
         vt.clear();
         for(int i = 0; i < n; i++) {
             if(ans[i] == '1') vt.push_back(i + 1);
         }
         vv.push_back(vt);
         return ;
     }
     bt.flip(maxNUM - pos - 1);
     dfs(vv, bt, pos + 1, n, k);
     bt.flip(maxNUM - pos - 1);
     dfs(vv, bt, pos + 1, n, k);
 }
开发者ID:maybeluo,项目名称:leetcode,代码行数:17,代码来源:77_Combinations.cpp

示例3: sieve

void sieve()
{
    p.flip();
    p[0] = p[1] = 0;
    for(int i=2; i*i<MAX; i++)
        if( p[i] )
            for(int j=i*i; j<MAX; j+=i)
                p[j] = 0;
}
开发者ID:inutard,项目名称:CodeJam,代码行数:9,代码来源:main.cpp

示例4: sieve

void sieve()
{
  is_prime.flip();

  for(int n = 3; n < SQRT_N; n += 2)
    if(is_prime[n>>1])
      for(int j = n * n; j < MAX_N; j += (n<<1))
        is_prime[j>>1] = false;
  is_prime[0] = false;
}
开发者ID:remerson,项目名称:uva,代码行数:10,代码来源:10948.cpp

示例5: sieve

void sieve(){
	isp.reset();
	isp.flip();
	isp.set(0,false);
	isp.set(1,false);
	int i,j;
	rep(i,2,1000)
		if(isp[i])
			repdf(j,2*i,1000000,i)isp.set(j,false);
}
开发者ID:harry-7,项目名称:My-Uva-Solutions,代码行数:10,代码来源:irreducible-basic-fractions.cpp

示例6: populatePrime

void populatePrime()  // seive of eratosthenes
{
	isPrime.reset();
	isPrime.flip();
	isPrime[0] = isPrime[1] = 0;
	for(int i=2; i*i<=MAX; i++) 
		if(isPrime[i]) 
			for(int j=i*i; j<MAX; j = j+i) 
				isPrime[j] = 0;
}
开发者ID:LavishKothari,项目名称:MyAllCodes---Lavish,代码行数:10,代码来源:basic.cpp

示例7:

//Returns the result N after running PQ through all the gates
bitset<30> Circuit::runGates(bitset<30> pq)
{
    for(int i=0;i<gates.size();++i)
    {
        if(gates[i].noControllers())
        {
            pq.flip(gates[i].getN());
            flipped[i] = 1;
        }
        else
        {
            int flip = 1;
            vector<int> temp = gates[i].getControllers();
            for(int j=0;j<temp.size();++j)
            {
                if(flip)
                {
                    if(gates[i].getInverted())
                    {
                        if(pq[temp[j]])
                        {
                            flip = 0;
                        }
                    }
                    else
                    {
                        if(!(pq[temp[j]]))
                        {
                            flip = 0;
                        }
                    }
                }
            }
            if(flip)
            {
                pq.flip(gates[i].getN());
                flipped[i] = 1;
            }
        }
    }
    return pq;
}
开发者ID:cfajitas,项目名称:CSCE-420-Project,代码行数:43,代码来源:Circuit.cpp

示例8: press

bitset<100> press ( int button, bitset<100> lamps, int N ) {
	if ( button == 1 ) return lamps.flip();

	bitset<100> mask;
	int i= (button == 3) ? 1 : 0,
		leap = (button == 4) ? 3 : 2;

	for ( ; i < N; i+= leap) mask[100-i-1]= 1;

	return lamps^mask;
}
开发者ID:ktsakas,项目名称:hellenico,代码行数:11,代码来源:lamps.cpp

示例9: gen_sieve

void gen_sieve() {
	prime.reset();
	prime.flip();
	prime.set(0, false);
	prime.set(1, false);
	for (size_t i = 2; i <= primen; ++i)
		if (prime.test(i)) {
			for (size_t j = i * i; j <= primen; j += i)
				prime.set(j, false);
		}
}
开发者ID:oybek,项目名称:sport-programming,代码行数:11,代码来源:1118.cpp

示例10: sieveGen

void sieveGen(){
    sieve.flip();
    sieve.reset(0);
    sieve.reset(1);
    for( int k = 2; k <= OM; k++ )
        if(sieve.test(k)){
            pl.push_back(k);
            if(k <= sqrt(OM))
            for(int i = k + k; i <= OM; i += k )
                sieve.reset(i);
            }
}
开发者ID:RubelAhmed57,项目名称:problem-solution,代码行数:12,代码来源:7718.+Number+of+common+divisors.cpp

示例11: SieveOfAtkin

inline void SieveOfAtkin(const int &largest) {
    int square;

    for (int i = 2; i < largest; ++i) primes[i] = false;
    primes.set(0, false);
    primes.set(1, false);
    primes.set(2, true);
    primes.set(3, true);
    //Sieve Of Atkin
    int n, nmod12;
    for (int x = 1; x <= 2236; ++x) { //x till root/2
        for (int y = 1; y <= 4472; y += 2) { //odd y
            n = 4*x*x + y*y;
            nmod12 = n%12;
            if(n < largest && (nmod12 == 1 || nmod12 == 5)) primes.flip(n);
        }
    }

    for (int x = 1; x <= 4472; ++x) {
        for (int y = 1; y <= 4472; ++y) {
            n = 3*x*x + y*y;
            nmod12 = n%12;
            if(n < largest && (nmod12 == 7)) primes.flip(n);

            n = 3*x*x - y*y;
            nmod12 = n%12;
            if(x > y && n < largest && (nmod12 == 11)) primes.flip(n);
        }
    }

    //Eliminate by Sieve
    for (int i = 5; i <= 4472; ++i) {
        if(primes.test(i)) {
            square = i * i;
            for(int j = square; j <= largest; j += square) {
                primes[j] = false;
            }
        }
    }
}
开发者ID:bhatpraveen,项目名称:acmuva,代码行数:40,代码来源:10394TwinPrimes.cpp

示例12: sieve

void sieve(int upper_bound){
	sieve_size = upper_bound;
	bs.reset();
	bs.flip();
	bs[0] = false;
	bs[1] = false;
	for(long long i = 2 ; i <= upper_bound ; i++)
		if(bs[i]){
			for(long long j = i * i ; j <= upper_bound ; j += i)
				 bs[j] = false;
			primes.push_back(i);
		}
}
开发者ID:GreyDireWolf,项目名称:Competitive-Programming,代码行数:13,代码来源:euler_totient_function.cpp

示例13: setPrimes

void setPrimes()
{
    bset.reset();
    bset.flip();
    bset[1]=0;

    for (size_t i=2;i<LIMIT;i++)
        if (bset.test(i))
             for (size_t j=2; j*i<LIMIT; j++ )
                bset[j*i]=0;
  

}
开发者ID:nirwandogra,项目名称:Spoj-Solutions,代码行数:13,代码来源:NFACTOR-7753555.cpp

示例14: create_prime

void create_prime()
{
    prime.reset();
    prime.flip();
    prime[0]=prime[1]=0;
    for (long long i=2; i<MAX; ++i) {
        if (prime[i]) {
            for (long long j=i*i; j<MAX; j+=i){
                prime[j]=0;
            }
        }
    }
}
开发者ID:ak795,项目名称:acm,代码行数:13,代码来源:1.cpp

示例15: generate_primes

void generate_primes(ll upperbound)
{
	bs.reset();
	bs.flip();
	bs.set(0,false); bs.set(1,false);
	for(ll i = 2; i <= upperbound+1; i++) 
		if(bs.test((i))){
			for(ll  j = i * i ; j <= upperbound+1; j += i)
				bs.set(j,false);
		primes.push_back((int)i);
	}
	
}
开发者ID:mari-linhares,项目名称:Programming,代码行数:13,代码来源:code.cpp


注:本文中的bitset::flip方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。