蒟蒻爆零求助!
查看原帖
蒟蒻爆零求助!
524906
刘辰雨楼主2022/1/21 21:52
#include<bits/stdc++.h>
#define MOD 1000000007
using namespace std;
long long n , q;
string s;
inline long long  hbit(long long i)
{
	long long mid = 1;
	while(mid <= i)mid<<=1;
	return mid/2;
}
inline long long lbit(long long x)
{
	return x&(-x);
}
int main()
{
	cin>>n>>q>>s;
	for(long long i , l,r, x ; i<= q ; i++)
	{
		cin>>l>>r>>x;
		for(int j = l ; j<= r ; j++)
		{
			if(x&(x-1) == x)
				{
					x+=x;
					x %= MOD;
					continue;
				}
			if(s[j-1] == '1')
			{
				x += hbit(x);
				x %= MOD;
			}
			else
			{
				x += lbit(x);
				x %= MOD;
				
			}
		}
		cout<<x<<endl;
	}
	return 0;
}

结构很简单,怎么会爆零呢

2022/1/21 21:52
加载中...