揭阳门户网站开发,网站建设包括哪些流程,营销策划方案范文免费下载,深圳设计院排名前十强D. XOR-gun
大佬题解 当n比较大的时候#xff0c;一定有连续相同的3个数最高位都是1#xff0c;只需要将这三个数其中两个异或一次即可满足题意只需要操作1次。
当n比较小时可以直接暴力#xff0c;不难发现异或操作要么是一段区间异或然后与区间端点相邻的比较O(n2)O(n^2…D. XOR-gun
大佬题解 当n比较大的时候一定有连续相同的3个数最高位都是1只需要将这三个数其中两个异或一次即可满足题意只需要操作1次。
当n比较小时可以直接暴力不难发现异或操作要么是一段区间异或然后与区间端点相邻的比较O(n2)O(n^2)O(n2)要么是连续的两段连续区间异或与他们两个区间的分界点比较O(n3)O(n^3)O(n3)。
#define IO ios::sync_with_stdio(false);cin.tie();cout.tie(0)
#pragma GCC optimize(2)
#includeset
#includemap
#includecmath
#includestack
#includequeue
#includerandom
#includebitset
#includestring
#includevector
#includecstdio
#includecstring
#includeiostream
#includealgorithm
#includeunordered_map
#includeunordered_set
using namespace std;
typedef long long ll;
typedef pairint,int pii;
const int N100010;
int a[N],pre[N];
int main()
{IO;int T1;//cinT;while(T--){int n;cinn;for(int i1;in;i) cina[i];for(int i1;in;i) pre[i]pre[i-1]^a[i];if(n96) {cout1\n;continue;}int resn;for(int i1;in;i)for(int ji1;jn;j){int tpre[j]^pre[i-1];if(i1ta[i-1]) resmin(res,j-i);if(jnta[j1]) resmin(res,j-i);}for(int i1;in;i)for(int ji1;jn;j)for(int ki;kj;k){int xpre[k]^pre[i-1];int ypre[j]^pre[k];if(xy) resmin(res,j-i-1);}resresn?-1:res;coutres\n;}return 0;
}要加油哦~