异或哈希(求区间内所有的数的出现的次数是否为偶数)

Example

InputCopy

2

3 3

1 2 2

1 2

1 3

2 3

5 3

2 1 2 1 1

1 2

1 3

4 5

OutputCopy

NO

NO

YES

NO

NO

YES

思路:异或哈希模板

AC代码:

cpp 复制代码
#include<bits/stdc++.h>

using namespace std;
typedef long long ll;

typedef pair<ll, ll>PII;
const int N = 2e6 + 10;
const ll MOD = 1e9 + 7;
const ll INF = 1e18;

//生成随机数
mt19937_64 rng(std::chrono::steady_clock::now().time_since_epoch().count());
ll v[N];

int main()
{
	for(int i = 1; i <= N; i ++)
	{
		v[i] = rng();
	}//生成随机数为了判断区间内所有的数是否都出现偶数次
    int t;
	cin >> t;
	while(t --){
		//相同的时候不会输游戏即打成平局
		int n, q;
		cin >> n >> q;
		vector<ll>s(n + 10);
		for(int i = 1; i <= n; i ++)
		{
			int x;
			cin >> x;
			s[i] = s[i - 1] ^ v[x];
		}
		while(q --){
		    int l, r;
			cin >> l >> r;
			if(s[r] - s[l - 1] != 0) cout << "NO" << endl;
			else cout << "YES" << endl;
		}
	}
	return 0;
}
相关推荐
kkeeper~3 小时前
0基础C语言积跬步之数据在内存中的存储
c语言·数据结构·算法
wabs6664 小时前
关于贪心算法的一些自我总结【力扣45.跳跃游戏II】【灵感来源:代码随想录】
算法·贪心算法·复盘
2401_876964134 小时前
【湖北专升本】2026湖北专升本真题PDF+备考资料汇总
数据结构·人工智能·经验分享·深度学习·算法·计算机视觉
嗝o゚5 小时前
CANN GE 算子融合——融合算法与调度策略
算法·昇腾·cann·ge
小江的记录本5 小时前
【JVM虚拟机】垃圾回收GC:垃圾回收算法:标记-清除、标记-复制、标记-整理、分代收集(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·安全·面试
Ulyanov6 小时前
用声明式语法重新定义Python桌面UI:QML+PySide6现代开发入门(一)
开发语言·python·算法·ui·系统仿真·雷达电子对抗仿真
数据科学小丫6 小时前
特征工程处理
人工智能·算法·机器学习
z落落7 小时前
C#参数区别
java·算法·c#
c238568 小时前
vector(下)
数据结构·算法
z落落8 小时前
C# 冒泡排序+选择排序 + Array.Sort 自定义排序
数据结构·算法