日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【数学】MORE XOR

發布時間:2025/3/8 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【数学】MORE XOR 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Given a sequence of nnn numbers a1,a2,? ,ana_1, a_2,\cdots, a_na1?,a2?,?,an? and three functions.

Define a function f(l,r)f(l,r)f(l,r) which returns ⊕a[x](l≤x≤r)\oplus a[x] (l \le x \le r)a[x](lxr). The \oplus⊕ represents exclusive OR.

Define a function g(l,r)g(l,r)g(l,r) which returns ⊕f(x,y)(l≤x≤y≤r)⊕f(x,y)\oplus f(x,y)(l \le x \le y \le r)⊕f(x,y)f(x,y)(lxyr)f(x,y).

Define a function w(l,r)w(l,r)w(l,r) which returns ⊕g(x,y)(l≤x≤y≤r)⊕g(x,y)\oplus g(x,y)(l \le x \le y \le r)⊕g(x,y)g(x,y)(lxyr)g(x,y).

You are also given a number of xor-queries. A xor-query is a pair (i,j)(1≤i≤j≤n)(i,j) (1 \le i \le j \le n)(i,j)(1ijn). For each xor-query (i,j)(i, j)(i,j), you have to answer the result of function w(l,r)w(l,r)w(l,r).

Input
Line 111: t(1≤t≤20)t (1 \le t \le 20)t(1t20).

For each test case:

Line 111: n(1≤n≤100000)n (1 \le n \le 100000)n(1n100000).

Line 222: nnn numbers a1,a2,? ,an(1≤ai≤109)a_1, a_2, \cdots, a_n (1 \le a_i \le 10^9)a1?,a2?,?,an?(1ai?109)

Line 333: q(1≤q≤100000)q (1 \le q \le 100000)q(1q100000), the number of xor-queries.

In the next q lines, each line contains 222 numbers i,ji, ji,j representing a xor-query (1≤i≤j≤n)(1 \le i \le j \le n)(1ijn).

It is guaranteed that sum of nnn and q≤106q \le 10^6q106

Output
For each xor-query (i,j)(i, j)(i,j), print the result of function w(i,j)w(i,j)w(i,j) in a single line.

樣例輸入
1
5
1 2 3 4 5
5
1 3
1 5
1 4
4 5
3 5
樣例輸出
2
4
0
1
4

解題思路:
emmmm,我這道題是通過打表尋找規律來解答的。。。
打表的代碼

#include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #include <cstdlib> #include <cstring> #include <map> #include <stack> #include <queue> #include <vector> #include <bitset> #include <set> #include <utility> #include <sstream> #include <iomanip> using namespace std; typedef long long ll; typedef unsigned long long ull; #define inf 0x3f3f3f3f #define rep(i,l,r) for(int i=l;i<=r;i++) #define lep(i,l,r) for(int i=l;i>=r;i--) #define ms(arr) memset(arr,0,sizeof(arr)) //priority_queue<int,vector<int> ,greater<int> >q; const int maxn = (int)1e5 + 5; const ll mod = 1e9+7; int arr[100]; int main() {#ifndef ONLINE_JUDGEfreopen("in.txt", "r", stdin);#endiffreopen("out.txt", "w", stdout);ios::sync_with_stdio(0),cin.tie(0);for(int l1=1,r1=1;r1<=50;r1++) {memset(arr,0,sizeof arr);for(int l2=l1;l2<=r1;l2++) {for(int r2=l2;r2<=r1;r2++) {for(int l3=l2;l3<=r2;l3++) {for(int r3=l3;r3<=r2;r3++) {for(int k=l3;k<=r3;k++) {arr[k]++;}}}}}//輸出的1代表最后的答案這項存在,0代表不存在for(int i=1;i<=r1;i++) {if(arr[i]%2==0) printf("0 ");else printf("1 ");}printf("\n");//例如假設區間為[l,r],第一行代表當區間長度為1時,其答案就是a[l]//當區間長度為2時,其答案為a[l]^a[r]//當區間長度為3時,其答案為a[l+1]//當區間長度為4時,其答案為0}return 0; }

通過表格我們可以發現,
(r?l+1)%4=0(r-l+1) \%4=0(r?l+1)%4=0時,答案為000
(r?l+1)%4=1(r-l+1) \%4=1(r?l+1)%4=1時,答案為a[l]⊕a[l+4]⊕a[l+8]?a[r]a[l]\oplus a[l+4] \oplus a[l+8] \cdots a[r]a[l]a[l+4]a[l+8]?a[r]
(r?l+1)%4=2(r-l+1) \%4=2(r?l+1)%4=2時,答案為a[l]⊕a[l+1]⊕a[l+4]⊕a[l+5]?a[r?1]⊕a[r]a[l]\oplus a[l+1] \oplus a[l+4] \oplus a[l+5] \cdots a[r-1] \oplus a[r]a[l]a[l+1]a[l+4]a[l+5]?a[r?1]a[r]
(r?l+1)%4=3(r-l+1) \%4=3(r?l+1)%4=3時,答案為a[l+1]⊕a[l+5]⊕a[l+9]?a[r?1]a[l+1]\oplus a[l+5] \oplus a[l+9] \cdots a[r-1]a[l+1]a[l+5]a[l+9]?a[r?1]
因為有10610^6106組查詢,所以還需要求一個間隔為444的前綴異或和,這樣就可以實現O(1)O(1)O(1)查詢
代碼:

#include <cstdio> #include <iostream> #include <algorithm> #include <cmath> #include <cstdlib> #include <cstring> #include <map> #include <stack> #include <queue> #include <vector> #include <bitset> #include <set> #include <utility> #include <sstream> #include <iomanip> using namespace std; typedef long long ll; typedef unsigned long long ull; #define inf 0x3f3f3f3f #define rep(i,l,r) for(int i=l;i<=r;i++) #define lep(i,l,r) for(int i=l;i>=r;i--) #define ms(arr) memset(arr,0,sizeof(arr)) //priority_queue<int,vector<int> ,greater<int> >q; const int maxn = (int)1e5 + 5; const ll mod = 1e9+7; int arr[100100]; int sum[4][100100]; int main() {#ifndef ONLINE_JUDGEfreopen("in.txt", "r", stdin);#endif//freopen("out.txt", "w", stdout);ios::sync_with_stdio(0),cin.tie(0);int t;scanf("%d",&t);while(t--) {int n;scanf("%d",&n);rep(i,1,n) {scanf("%d",&arr[i]);sum[0][i]=sum[1][i]=sum[2][i]=sum[3][i]=0;}sum[1][1]=arr[1];sum[2][2]=arr[2];sum[3][3]=arr[3];sum[0][4]=arr[4];rep(i,5,n) {sum[1][i]=sum[1][i-4]^arr[i];sum[2][i+1]=sum[2][i+1-4]^arr[i+1];sum[3][i+2]=sum[3][i+2-4]^arr[i+2];sum[0][i+3]=sum[0][i+3-4]^arr[i+3];}int q;scanf("%d",&q);rep(i,1,q) {int l,r;scanf("%d%d",&l,&r);int len=r-l+1,ans;if(len%4==0) printf("0\n");else if(len%4==1) {ans=sum[r%4][r]^sum[l%4][l]^arr[l];printf("%d\n",ans);}else if(len%4==2) {ans=sum[r%4][r]^sum[(l+1)%4][l+1]^arr[l+1];ans=ans^(sum[(r-1)%4][r-1]^sum[l%4][l]^arr[l]);printf("%d\n",ans);}else {ans=sum[(r-1)%4][r-1]^sum[(l+1)%4][l+1]^arr[l+1];printf("%d\n",ans);}}}return 0; }

總結

以上是生活随笔為你收集整理的【数学】MORE XOR的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 涩涩涩涩涩涩涩涩涩涩 | 中文字幕亚洲一区 | 欧美一区二区三区大屁股撅起来 | 专业操老外 | 三上悠亚 在线观看 | 久久国产加勒比精品无码 | 亚洲精品热 | yjizz视频网 国产乱人对白 | 精品无码一区二区三区蜜臀 | 久色在线 | 欧美在线xxxx| www.色综合 | 成人av观看| 国产精品一区二区无码免费看片 | 长河落日电视连续剧免费观看 | 丰满雪白极品少妇流白浆 | 性感美女高潮 | 国产女同91疯狂高潮互磨 | 一区二区三区视频在线观看免费 | 国产又粗又爽视频 | 国内露脸中年夫妇交换 | 国产精品一区二区三区四区在线观看 | 99网站 | av综合久久 | 欧洲亚洲激情 | 2021狠狠干 | 日本高清不卡二区 | 久久久国产精品一区二区三区 | 中文字幕区 | 午夜精品久久 | 在线免费观看国产视频 | 手机免费av片 | 亚洲国内在线 | 超级变态重口av番号 | 中文字幕大全 | 亚洲一区自拍 | av福利网站| 久久艹在线观看 | 亚洲一级二级 | 少妇一级免费 | 欧美午夜精品久久久久久蜜 | 黄色片网站免费在线观看 | 成熟妇人a片免费看网站 | 久久高清国产 | 777国产成人入口 | 成人18网站 | 成人视屏在线 | 少妇无码av无码专区在线观看 | 国产欧美视频在线 | 天天av天天爽| 久久911| 国产中文字字幕乱码无限 | 丰满人妻一区二区三区53视频 | 日日噜噜夜夜狠狠久久波多野 | 啊av在线 | 中文无码一区二区三区在线观看 | 丰满少妇大力进入 | 懂色av蜜臀av粉嫩av分享 | 一级性生活黄色片 | 女生张开腿给男生桶 | 日本人性爱视频 | 黄色91免费观看 | 精品电影在线观看 | 麻豆私人影院 | 精品一区二区久久久久蜜桃 | 国产sm网站 | 免费成人av在线播放 | 欧美视频网站 | 欧美拍拍 | 亚洲AV无码精品黑人黑人 | 成人三级在线看 | 台湾佬在线| 国产精品白浆一区二小说 | 精品一区二区三区入口 | 中文字幕国产一区 | 欧美一区二区三区四区视频 | 亚洲人午夜射精精品日韩 | 亚洲香蕉av | 亚洲 激情 | 一级毛片基地 | 黄色片在哪看 | 一级久久 | 日日日操| 黑丝啪啪| 奇米第四色777 | 久久免费视频6 | 国产精品久久久久久久久久小说 | 国产v亚洲 | 日本精品一二三区 | 91鲁| 色就是色av | 自慰无码一区二区三区 | 天天躁日日躁bbbbb | 亚洲成人中文字幕在线 | 91久色 | 激情福利在线 | 婷综合 | 黄色片免费观看 | 欧美日韩有码 |