中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

長沙企業(yè)做網(wǎng)站百度一下你就知道官網(wǎng)網(wǎng)址

長沙企業(yè)做網(wǎng)站,百度一下你就知道官網(wǎng)網(wǎng)址,人大信息網(wǎng)站建設方案,企業(yè)網(wǎng)站在線客服怎么做題解:CF1968F(Equal XOR Segments) 題目翻譯:定義一個序列是好,當且僅當可以將其分成大于 1 1 1 份,使得每個部分的異或和相等。現(xiàn)在給定一個長度為 n n n 的序列 a a a,以及 q q q 次查詢…

題解:CF1968F(Equal XOR Segments)

題目翻譯:定義一個序列是好,當且僅當可以將其分成大于 1 1 1 份,使得每個部分的異或和相等。現(xiàn)在給定一個長度為 n n n 的序列 a a a,以及 q q q 次查詢,每次查詢中,詢問序列 a a a 的第 l l l r r r 位是不是好的。( n ≤ 2 ? 1 0 5 n\leq2\cdot10^5 n2?105 并且 q ≤ 2 ? 1 0 5 q\leq2\cdot10^5 q2?105
第一步,要縮小范圍。我們不難發(fā)現(xiàn)這個段數(shù)要么是 2 2 2,要么是 3 3 3,如果有多于 4 4 4 段,那么將其中任意三段合并,根據(jù)異或的性質可以證明對最終結果沒有影響,這樣一直合并,一直將段數(shù)減少 2 2 2,早晚能變成 2 2 2 3 3 3 段。

第二步,考慮如何求答案。如果詢問道一段區(qū)間異或起來(用前綴異或和 s s s 維護)為 0 0 0,那么一定可以分成兩段;否則也就是難點——分成三段的情況。那么就相當于找到兩個數(shù) x x x y y y l < x < y < r l<x<y<r l<x<y<r)使得 s x ? s l ? 1 = s y ? s x = s r ? s y s_x\bigoplus s_{l-1}=s_y\bigoplus s_x=s_r\bigoplus s_y sx??sl?1?=sy??sx?=sr??sy?。這個式子就等價于找到 s y = s l ? 1 s_y=s_{l-1} sy?=sl?1? 以及 s x = s r s_x=s_r sx?=sr?。那么我們用一個 map<int, vector<int>> 存儲某一個數(shù)在 s s s 中出現(xiàn)在哪些位置,然后用 upper_boundlower_bound 二分求出能否找到合理的 x x x y y y 并且保證 x < y x<y x<y。比如說,我們在等于 s l ? 1 s_{l-1} sl?1?vector 里面找到小于 r r r 最大的 y y y,在等于 s r s_r sr?vector 里面找到大于 l l l 里最小的 x x x,判斷,如果 l < x < y < r l<x<y<r l<x<y<r 就可以,否則就不行。

具體見代碼。

#include <bits/stdc++.h>
#define N 220000
using namespace std;
int t, n, q, a[N], l, r;
int s[N];
map<int, set<int>> id;
int main() {scanf("%d", &t);while (t--) {id.clear();scanf("%d%d", &n, &q);for (int i = 1; i <= n; i++) {scanf("%d", &a[i]);s[i] = s[i - 1] ^ a[i];if (id.find(s[i]) == id.end()) {id[s[i]] = {i};} else {id[s[i]].insert(i);}}for (int i = 1; i <= q; i++) {scanf("%d%d", &l, &r);if ((s[r] ^ s[l - 1]) == 0) {printf("Yes\n");} else {auto u = id[s[l - 1]].upper_bound(r - 1);if (u == id[s[l - 1]].begin()) {printf("No\n");} else {u--;auto v = id[s[r]].lower_bound(l);if (v != id[s[r]].end() && l <= *v && *v < *u && *u < r) {printf("Yes\n");} else {printf("No\n");}}}}}return 0;
}
http://m.risenshineclean.com/news/59162.html

相關文章:

  • 如何制作香水 簡單seo交流論壇seo顧問
  • 網(wǎng)站維護步驟優(yōu)化營商環(huán)境存在問題及整改措施
  • 一元購網(wǎng)站建設多少錢seo自學教程seo免費教程
  • 河北seo推廣方案seo免費優(yōu)化網(wǎng)址軟件
  • 南充做網(wǎng)站公司哪家好營銷型網(wǎng)站推廣
  • 圖書館網(wǎng)站建設的建議免費信息推廣平臺
  • 企業(yè)做網(wǎng)站的發(fā)票怎樣入賬網(wǎng)頁設計框架圖
  • 醫(yī)院網(wǎng)站建設 價格網(wǎng)站免費搭建
  • 騰訊云服務器上傳網(wǎng)站b站視頻推廣網(wǎng)站2023
  • 光谷做網(wǎng)站推廣怎么樣百度模擬點擊軟件判刑了
  • 江西省建設監(jiān)督網(wǎng)站收錄
  • 動態(tài)網(wǎng)站開發(fā)常用技術龍網(wǎng)網(wǎng)絡推廣軟件
  • 在哪做網(wǎng)站便宜又好關鍵詞優(yōu)化步驟簡短
  • 廣州海珠發(fā)布seo排名軟件
  • 安裝wordpress報404錯誤網(wǎng)站seo專員
  • 蘇州做門戶網(wǎng)站的公司免費注冊推廣網(wǎng)站
  • 成都微信公眾號外包seo診斷工具有哪些
  • 自適應網(wǎng)站平臺西安seo網(wǎng)絡推廣
  • 重慶建站管理系統(tǒng)信息seox
  • 海曙網(wǎng)站建設網(wǎng)站海南網(wǎng)站網(wǎng)絡推廣
  • 上海小企業(yè)網(wǎng)站建設資源企業(yè)網(wǎng)站排名優(yōu)化價格
  • 無錫高端網(wǎng)站設計制作白嫖永久服務器
  • 網(wǎng)站建設合同范本下載外貿網(wǎng)站谷歌seo
  • 衡水做wap網(wǎng)站推廣圖片制作
  • 在美國注冊一個網(wǎng)站 大陸做銷售品牌推廣活動策劃案例
  • wordpress特色圖片dz論壇seo
  • wordpress無法更改主題北京網(wǎng)站優(yōu)化服務
  • 怎么做免流網(wǎng)站seo的優(yōu)點和缺點
  • rss 網(wǎng)站插件企業(yè)網(wǎng)站優(yōu)化
  • 本科學計算機是做網(wǎng)站嗎搜索引擎優(yōu)化服務