欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

【每日一題】Xorto (前綴和優(yōu)化枚舉)

Xorto

https://ac.nowcoder.com/acm/problem/14247

Solution
前綴和優(yōu)化,用維護的區(qū)間異或和,那么的區(qū)間異或和即。
那么遍歷 i ,枚舉 i 作為右端點統(tǒng)計區(qū)間異或和,再枚舉 i+1 為左端點統(tǒng)計答案。
關(guān)鍵點在于左邊區(qū)間統(tǒng)計,右邊區(qū)間更新而不統(tǒng)計,保證區(qū)間不重疊。

Code

#include<bits/stdc++.h>
#define mp make_pair
#define pb push_back
#define ll long long
#define io std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
using namespace std;
inline ll read(){ll s=0,w=1;char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();return s*w;}
void put1(){ puts("YES") ;}void put2(){ puts("NO") ;}void put3(){ puts("-1"); }
ll qp(ll a,ll b, ll p){ll ans = 1;while(b){if(b&1){ans = (ans*a)%p;--b;}a =
(a*a)%p;b >>= 1;}return ans%p;}
const int mo=998244353; const int mod=1000000007;

const int manx=1e5+5;

ll a[manx];
map<ll,ll>cnt;

int main(){
    ll n=read();
    for(int i=1;i<=n;i++){
        ll x=read();
        a[i]=a[i-1]^x;
    }
    ll ans=0;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=i;j++) cnt[a[i]^a[j-1]]++;
        for(int j=i+1;j<=n;j++) ans+=cnt[a[j]^a[i]];
       // cnt.clear();
    }
    cout<<ans;
    return 0;
}
全部評論

相關(guān)推薦

韻不凡:軟件開發(fā)的工作需要博士嗎?
點贊 評論 收藏
分享
點贊 評論 收藏
分享
各位大佬方狠狠批評吧
凌offer:投私企,政治面貌不是黨員或者預(yù)備黨員就不要寫了,什么族感覺也沒啥要寫的必要
點贊 評論 收藏
分享
評論
點贊
1
分享

創(chuàng)作者周榜

更多
??途W(wǎng)
??推髽I(yè)服務(wù)