当前位置:网站首页>D - Linear Probing- 并查集
D - Linear Probing- 并查集
2022-08-01 22:42:00 【秦小咩】
D - Linear Probing Editorial

/
Time Limit: 4 sec / Memory Limit: 1024 MB
Score : 400400 points
Problem Statement
There is a sequence A = (A_0, A_1, \dots, A_{N - 1})A=(A0,A1,…,AN−1) with N = 2^{20}N=220 terms. Initially, every term is -1−1.
Process QQ queries in order. The ii-th query (1 \leq i \leq Q)(1≤i≤Q) is described by an integer t_iti such that t_i = 1ti=1 or t_i = 2ti=2, and another integer x_ixi, as follows.
- If t_i = 1ti=1, do the following in order.
- Define an integer hh as h = x_ih=xi.
- While A_{h \bmod N} \neq -1AhmodN=−1, keep adding 11 to hh. We can prove that this process ends after finite iterations under the Constraints of this problem.
- Replace the value of A_{h \bmod N}AhmodN with x_ixi.
- If t_i = 2ti=2, print the value of A_{x_i \bmod N}AximodN at that time.
Here, for integers aa and bb, a \bmod bamodb denotes the remainder when aa is divided by bb.
Constraints
- 1 \leq Q \leq 2 \times 10^51≤Q≤2×105
- t_i \in \{ 1, 2 \} \, (1 \leq i \leq Q)ti∈{1,2}(1≤i≤Q)
- 0 \leq x_i \leq 10^{18} \, (1 \leq i \leq Q)0≤xi≤1018(1≤i≤Q)
- There is at least one ii (1 \leq i \leq Q)(1≤i≤Q) such that t_i = 2ti=2.
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
QQ
t_1t1 x_1x1
\vdots⋮
t_{Q}tQ x_{Q}xQ
Output
For each query with t_i = 2ti=2, print the response in one line. It is guaranteed that there is at least one such query.
Sample Input 1 Copy
Copy
4 1 1048577 1 1 2 2097153 2 3
Sample Output 1 Copy
Copy
1048577 -1
We have x_1 \bmod N = 1x1modN=1, so the first query sets A_1 = 1048577A1=1048577.
In the second query, initially we have h = x_2h=x2, for which A_{h \bmod N} = A_{1} \neq -1AhmodN=A1=−1, so we add 11 to hh. Now we have A_{h \bmod N} = A_{2} = -1AhmodN=A2=−1, so this query sets A_2 = 1A2=1.
In the third query, we print A_{x_3 \bmod N} = A_{1} = 1048577Ax3modN=A1=1048577.
In the fourth query, we print A_{x_4 \bmod N} = A_{3} = -1Ax4modN=A3=−1.
Note that, in this problem, N = 2^{20} = 1048576N=220=1048576 is a constant and not given in input.
=========================================================================非常巧妙的一个题目,直接循环外加优化的话只会TLE一个点,本题正解是并查集,每当修改一个位置,就把这个位置的父亲节点和父亲节点+1位置合并,注意合并顺序,这样我们就完美的定位了下一个位置,十分精巧
# include<iostream>
# include<iomanip>
# include<algorithm>
# include<map>
# include<vector>
# include<set>
# include<cstring>
# pragma optimize(2)
# define mod 1048576
using namespace std;
typedef long long int ll;
int f[(1<<20)+10];
ll ans[(1<<20)+10];
bool book[1048576+10];
ll getf(int x)
{
if(x==f[x])
return x;
else
{
f[x]=getf(f[x]);
return f[x];
}
}
void hebing(int x,int y)
{
int t1=getf(x);
int t2=getf(y);
if(t1!=t2)
f[t1]=t2;
}
int main ()
{
for(int i=0; i<(1<<20); i++)
{
f[i]=i;
}
int t;
cin>>t;
while(t--)
{
ll x,y;
scanf("%lld%lld",&x,&y);
if(x==1)
{
ll pre=y;
y%=1048576;
ll now=getf(y);
ans[now]=pre;
book[now]=1;
hebing(now,(now+1)%1048576);
}
else
{
ll now=y%1048576;
if(!book[now])
{
cout<<-1<<'\n';
}
else
{
cout<<ans[now]<<'\n';
}
}
}
return 0;
}
边栏推荐
- 10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|TakinTalks大咖分享
- _ _ determinant of a matrix is higher algebra eigenvalue of the product, the characteristic value of matrix trace is combined
- 用virtualenv和Virtualenvwrapper虚拟环境管理工具创建虚拟环境
- selenium无头,防检测
- leetcode刷题
- [Niu Ke brush questions-SQL big factory interview questions] NO4. Travel scene (a taxi)
- xss相关知识点以及从 XSS Payload 学习浏览器解码
- Wechat Gymnasium Appointment Mini Program Graduation Design Finished Work (4) Opening Report
- [ASM] Bytecode Operation MethodWriter
- 联邦学习在金融领域的发展和应用
猜你喜欢

编曲软件FL studio20.8中文版功能和作用

域名重定向工具 —— SwitchHosts 实用教程

10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|TakinTalks大咖分享

力扣第 304 场周赛复盘

APP special test: traffic test

Delicious this year

number of solutions to solve a multivariate multi-degree equation

小程序毕设作品之微信美食菜谱小程序毕业设计成品(7)中期检查报告

小程序毕设作品之微信美食菜谱小程序毕业设计成品(8)毕业设计论文模板

13、学习MySQL 分组
随机推荐
萍不回答
y84. Chapter 4 Prometheus Factory Monitoring System and Actual Combat -- Advanced Prometheus Alarm Mechanism (15)
自建 Prometheus 采集腾讯云容器服务监控数据最佳实践
从0到1:图文投票小程序设计与研发笔记
Wechat Gymnasium Appointment Mini Program Graduation Design Finished Work (4) Opening Report
小程序毕设作品之微信美食菜谱小程序毕业设计成品(5)任务书
JS prototype hasOwnProperty in 加方法 原型终点 继承 重写父类方法
得物客服热线的演进之路
leetcode 204. Count Primes 计数质数 (Easy)
牛客多校4 A.Task Computing 思维
小程序毕设作品之微信体育馆预约小程序毕业设计成品(3)后台功能
威纶通触摸屏如何打开并升级EB8000旧版本项目并更换触摸屏型号?
xctf attack and defense world web master advanced area webshell
_ _ determinant of a matrix is higher algebra eigenvalue of the product, the characteristic value of matrix trace is combined
[深入研究4G/5G/6G专题-48]: 5G Link Adaption链路自适应-4-下行链路自适应DLLA-PDCCH信道
y84.第四章 Prometheus大厂监控体系及实战 -- prometheus告警机制进阶(十五)
How to prevent governance attacks in DAOs?
域名重定向工具 —— SwitchHosts 实用教程
13、学习MySQL 分组
Wechat Gymnasium Reservation Mini Program Graduation Design Finished Work Mini Program Graduation Design Finished Product (2) Mini Program Function