牛客练习赛50 B tokitsukaze and Hash Table  并查集
链接https://ac.nowcoder.com/acm/contest/1080/B来源牛客网题目描述tokitsukaze有n个数需要按顺序把他们插入哈希表中哈希表的位置为0到n-1。插入的规则是刚开始哈希表是空的。对于一个数x在哈希表中如果(x mod n)的位置是空的就把x放在(x mod n)的位置上。如果不是空的就从(x mod n)往右开始找到第一个空的位置插入。若一直到n-1都不是空的就从位置0开始继续往右找第一个空的位置插入。因为哈希表总共有n个空位需要插入n个数所以每个数都能被插入。现在tokitsukaze想知道把这n个数按顺序插入哈希表后哈希表中的每个位置分别对应的是哪个数。输入描述:第一行包含一个正整数n(1≤n≤10^6)。 第二行包含n个非负整数x(0≤x≤10^9)这些数按从左到右的顺序依次插入哈希表。输出描述:输出一行n个数第i个数表示哈希表中位置为i所对应的数。(0≤i≤n-1)示例1输入4 1 2 6 5输出5 1 2 6说明插入1时1 mod 41是空的在位置1插入。 插入2时2 mod 42是空的在位置2插入。 插入6时6 mod 42不是空的找到下一个空的位置为3所以在位置3插入。 插入5时5 mod 41不是空的找到下一个空的位置为0所以在位置0插入。示例2输入4 3 0 7 11输出0 7 11 3说明插入3时3 mod 43是空的在位置3插入。 插入0时0 mod 40是空的在位置0插入。 插入7时7 mod 43不是空的找到下一个空的位置为1所以在位置1插入。 插入11时11 mod 43不是空的找到下一个空的位置为2所以在位置2插入。题解解法一用并查集维护空位。在位置x插入一个数后合并x和(x1)%n即可。要注意合并的时候(x1)%n必须当爹才能达到维护的效果。解法二用set维护所有空位每次lower_bound找到第一个可用空位即可。(可能会卡常)我用set写的代码连续交了5发有一发超时set的时间是并查集的两三倍。下边给出两种代码并查集代码#includebits/stdc.h using namespace std; typedef long long ll; const int maxn1e65; int father[maxn]; int ans[maxn]; int get(int x){ return xfather[x]?x:father[x]get(father[x]); } int main(){ int n; scanf(%d,n); for(int i1;in;i) father[i]i; for(int i1;in;i){ int x; scanf(%d,x); int yx%n; int fget(y); ans[f]x; int zget((f1)%n); father[f]z; } for(int i0;in;i) printf(%d ,ans[i]); return 0; }set代码#includebits/stdc.h using namespace std; typedef long long ll; const int maxn1e65; int a[maxn]; setint s; setint::iterator it; int main(){ int n; scanf(%d,n); for(int i0;in;i) s.insert(i); for(int i0;in;i){ int x; scanf(%d,x); int yx%n; its.lower_bound(y); if(its.end()) its.begin(); a[*it]x; s.erase(it); } for(int i0;in;i) printf(%d ,a[i]); return 0; }

相关新闻

log4j:WARN No appenders could be found for logger 报错解决办法

log4j:WARN No appenders could be found for logger 报错解决办法

问题描述: 项目启动失败,控制台打印错误提示信息: log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http:/…

2026/7/28 17:51:01 阅读更多 →
终极Linux文件搜索革命:FSearch如何让文件查找快如闪电

终极Linux文件搜索革命:FSearch如何让文件查找快如闪电

终极Linux文件搜索革命:FSearch如何让文件查找快如闪电 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 你知道吗?在Linux系统中查找一个文件竟…

2026/7/28 17:51:01 阅读更多 →
combinations(组合数)

combinations(组合数)

https://www.nowcoder.com/practice/4d0a110416d84c7f9454d0da53ab2da1?tpId46&tqId29101&tPage4&rp4&ru/ta/leetcode&qru/ta/leetcode/question-ranking 搜索回溯即可.不过注意为了防止重复出现,比如3 个数字选2个数字。避免出现1 3 和3 1 这种结果&…

2026/7/28 17:51:01 阅读更多 →

最新新闻

基于经验模态分解 时序分析 核主成分分析 长短期记忆网络 多维时间序列预测 LSTM多维时间序列预测模型 LSTM和 MD-LSTM进行对比

基于经验模态分解 时序分析 核主成分分析 长短期记忆网络 多维时间序列预测 LSTM多维时间序列预测模型 LSTM和 MD-LSTM进行对比

EMD-KPCA-LSTM 基于经验模态分解和核主成分分析的长短期记忆网络多维时间序列预测MATLAB代码(含LSTM、EMD-LSTM、EMD-KPCA-LSTM三个模型的对比) matlab 参考文档:基于EMD-PCA-LSTM的光伏功率预测模型 研究内容:本案例使用数据集是…

2026/7/28 17:59:04 阅读更多 →
[Linux 驱动] -- platform_device 与 paltform_driver 的匹配(i2c_client 与 i2c_driver)

[Linux 驱动] -- platform_device 与 paltform_driver 的匹配(i2c_client 与 i2c_driver)

自己总结platform_device与platform_driver的匹配分为如下三种情况:基于设备树风格的匹配:platform_driver.device_driver.of_device_id->compatible 和 设备树中的compatible属性进行比较;匹配 id 表(id_table),即…

2026/7/28 17:59:04 阅读更多 →
nmap的使用

nmap的使用

Nmap(全称Network Mapper)是一款功能强大、界面简洁清晰的连接端口扫描软件。能够轻松扫描确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统,从而帮助用户管理网络以及评估网络系统安全!Nmap运行需要用到一个驱动程序WinPcap&am…

2026/7/28 17:59:04 阅读更多 →
经典CNN和GAN论文代码总结(未完待续... ...)

经典CNN和GAN论文代码总结(未完待续... ...)

经典CNN 经典GAN GAN Paper: https://arxiv.org/abs/1906.01529Code: https://github.com/sheqi/GAN_Review CGAN Paper: https://arxiv.org/abs/1411.1784Code: <> CycleGAN Paper: https://arxiv.org/abs/1703.10593v6Code: <> CoGAN Paper: https://arxiv.org…

2026/7/28 17:59:03 阅读更多 →
【自然语言处理】

【自然语言处理】

python做自然语言处理&#xff0c;持续更新。 import jieba # 分词库 seg_list jieba.cut("北京野生动物园轿车遭黑熊围堵") print ("Default Mode:", .join(seg_list))Default Mode: 北京 野生 动物园 轿车 遭 黑熊 围堵附作者相关研究&#xff1a; ***…

2026/7/28 17:59:03 阅读更多 →
LeetCode-Python-273. 整数转换英文表示

LeetCode-Python-273. 整数转换英文表示

将非负整数转换为其对应的英文表示。可以保证给定输入小于 231 - 1 。示例 1:输入: 123 输出: "One Hundred Twenty Three" 示例 2:输入: 12345 输出: "Twelve Thousand Three Hundred Forty Five" 示例 3:输入: 1234567 输出: "One Million Two Hund…

2026/7/28 17:58:03 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿&#xff01;3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑&#xff1a;把几百页的财报、法规、技术手册扔给向量库&#xff0c;问一个具体问题&#xff0c;搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了&#xff0c;要么藏在几十条结果的最下面。语义相似≠真正相关&#xff0c;这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营&#xff0c;从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候&#xff0c;每天刷半小时抖音&#xff0c;手动把爆款视频的口播敲进备忘录&#xff0c;一条2分钟的视频得花十来分钟&#xff0c;碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档&#xff0c;可以直接使用&#xff01;系统支持图片、视频、摄像头等多种方式检测裂缝&#xff0c;功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像&#xff01; pubg绝地求生目标检测数据集 1分类&#xff1a;e_body&#xff0c;14905个标签&#xff0c;txt格式 共计14244张图&#xff0c;99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别&#xff1a; allies enemy tag图片总量&#xff1a;7247张训练集&#xff1a;5139张验证集&#xff1a;1425张测试集&#xff1a;683张标注状态&#xff1a;全部已标注&#xff0c;即拿即用数据格式&#xff1a;支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻