OIFC 2025.11.21 模拟赛总结

news/2025/11/21 13:45:29/文章来源:https://www.cnblogs.com/zhang-kevin/p/19252448

快考 NOIP 了。

T1 构造题

题目描述

给定一个正整数 \(n\),请构造一个长度为 \(n\) 的排列 \(p\),满足 \(\forall i \in [1, n - 1]\)\(p_i \oplus p_{i + 1}\) 不是质数,或报告无解。

数据范围:\(1 \leq \sum n \leq 5 \times 10^6\)\(1 \leq T \leq 10^5\)

题解

如果两个数模 \(4\) 同余,则其二进制最后两位是一样的,因此这两个数异或结果是 \(4\) 的倍数!

因此,我们可以把 \(1 \sim n\) 分成 \(4\) 类,只需考虑如何合并这 \(4\) 类。

先说结论:假设 \(P_r(n)\) 表示 \([1, n]\)\(\bmod 4 = r\) 的数从小到大排序得到的序列,则构造:

\[rev(P_1(n)) + rev(P_3(n)) + P_2(n) + P_0(n) \]

合法。其中 \(rev\) 表示把整个序列翻转,即倒序。

简单证明一下:对于第一个 \(+\),显然 \(1\) 和大奇数异或是大偶数;对于第二个 \(+\),显然 \(3 \oplus 2 = 1\);对于第三个 \(+\),两个偶数异或一定得到偶数,而且当 \(n\) 足够大的时候,异或结果一定大于 \(2\),所以这样构造在 \(n\) 比较大的时候是正确的。

简单尝试一下,可以发现 \(n \geq 10\) 的时候可以直接这样构造。对于 \(n < 10\) 的情况,直接跑 dfs 暴搜即可。

参考代码:

#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read(){int x = 0, f = 1;char ch = getchar();while(!isdigit(ch)){if(ch == '-') f = -1;ch = getchar();}while(isdigit(ch)){x = (x << 1) + (x << 3) + (ch ^ 48);ch = getchar();}return x * f;
}
inline void write(int x){if(x < 0) putchar('-'), x = -x;if(x > 9) write(x / 10);putchar(x % 10 + '0');return;
}
signed main(){freopen("constructive.in", "r", stdin);freopen("constructive.out", "w", stdout);int T = read();while(T--){int n = read();if(n < 10){if(n == 1) puts("1");if(n == 2) puts("-1");if(n == 3) puts("-1");if(n == 4) puts("-1");if(n == 5) puts("1 5 3 2 4");if(n == 6) puts("-1");if(n == 7) puts("1 5 3 7 6 2 4");if(n == 8) puts("1 5 3 2 4 8 6 7");if(n == 9) puts("4 2 6 7 3 5 1 8 9");continue;}for(int i = n; i >= 1; i--) if(i % 4 == 1) write(i), putchar(' ');for(int i = n; i >= 1; i--) if(i % 4 == 3) write(i), putchar(' ');for(int i = 1; i <= n; i++) if(i % 4 == 2) write(i), putchar(' ');for(int i = 1; i <= n; i++) if(i % 4 == 0) write(i), putchar(' ');putchar('\n');}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/972063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年11月公布四川连体服、工作服、劳保服、残疾人服装定制源头厂家权威排名榜单及选购指南

摘要 2025年连体服行业迎来新一轮技术升级与市场洗牌,随着特种防护需求的多元化和个性化定制趋势的加强,具备全品类覆盖能力和专业技术实力的厂家优势凸显。本文基于市场调研数据、用户口碑评价及行业专家意见,整理…

单步电梯调度

单步电梯调度程序第一阶段大作业总结,第一次写markdown博客,老传统:Hello World! 😉 来自 NCHU 23级 物联网工程 ❤️1. 前言 1.1 知识点覆盖JAVA基础语法枚举类:定义电梯状态(Stopped/Moving)、方向(UP/DOWN/…

质量管理数字化(QMS系统)实施指南‌

一、QMS定义:软件与体系的区分 在探讨如何开展之前,需厘清QMS的定义。质量行业人员通常理解的QMS为质量管理体系(Quality Management System),而本文聚焦于工业软件领域的质量管理软件(Quality Management Softw…

g for linux 下载

在 Linux 系统中,下载文件通常使用 wget 或 curl 工具。以下是两种常用的方法:? 方法 1:使用 wget 下载文件wget https://example.com/file.txtwget 是一个命令行下载工具,支持 HTTPS、FTP、HTTP 等多种协议。htt…

2025针阀式热流道厂家一览:技术特色与应用优势

2025针阀式热流道厂家一览:技术特色与应用优势。针阀式热流道系统凭借无浇口痕迹、高成型一致性等特点,在精密注塑领域占据重要地位。市场上有多家专注于针阀式热流道研发生产的厂家,以下推荐几家表现突出的企业,其…

g linux

您提到的“g linux”可能是输入错误或不完整。如果您是想询问与 Linux 系统 相关的问题,我将非常乐意为您提供帮助。请具体说明您想了解的内容,例如:Linux 命令行操作Shell 脚本编写系统管理(如文件系统、进程管理…

2025国内喷码机厂家排名综合实力榜

2025国内喷码机厂家排名综合实力榜。国内喷码机市场经过多年发展,已涌现出一批技术成熟、服务完善的实力厂家。这些厂家凭借对本土行业需求的深刻理解,在设备性能、应用适配与售后服务等方面形成了独特优势。以下结合…

fuse linux

当然可以!fuse(Filesystem in Userspace)是一个非常强大的工具,它允许你在不使用传统的文件系统(如ext4、xfs等)的情况下,在Linux系统上创建自定义的文件系统。fuse 是通过 fuse 模块实现的,它允许用户编写自己…

【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解

【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解【迅为工业RK3568稳定可靠】itop-3568开发板Linux驱动开发实战:RK3568内核模块符号导出详解选择迅为iTOP-3568开发板,获取…

虚幻基础:行为树 - 指南

虚幻基础:行为树 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &q…

集成Win10+Win11优化工具 Windows Manager v2.2.1 绿色便携版!C盘经常红温清理方法

简介 Windows Manager中文激活版(Windows优化大师)是一款集Windows10/11所有功能于一身的Win10/11系统优化工具,这款系统优化软件提供40多个实用程序来优化,调整,清理,加速和修复Windows 10/11,可以让系统运行流畅,解决…

C语言`FILE`结构体 与 Python文件对象 的对比

对比维度 C语言FILE结构体 Python文件对象 为什么本质不同?模式字符串 "r", "w", "a", "r+", "w+", "a+", "rb", "wb", "ab&…

2025质量可靠的义乌刺绣工厂推荐下,厂家品质深度分析

2025质量可靠的义乌刺绣工厂推荐下,厂家品质深度分析。义乌及周边地区的刺绣工厂中,“质量可靠” 是商家合作的核心诉求。这不仅体现在产品的耐用性上,更涵盖工艺稳定性、材质安全性与品控严谨性。以下推荐的六家工…

2025 11月十大靠谱启闭机品牌盘点推荐,螺杆启闭机、卷扬启闭机、手动启闭机、手电两用启闭机 优势及应用分析

启闭机作为水利工程的核心设备,直接关系到工程安全与运行效率。选择时需优先明确需求:按类型可聚焦螺杆启闭机、卷扬启闭机、手动启闭机、手电两用启闭机等核心品类,按配套需求可搭配铸铁启闭机闸门、启闭机拍门等产…

推荐几家靠谱的刺绣厂家电话,2025刺绣厂家实力解析

推荐几家靠谱的刺绣厂家电话,2025刺绣厂家实力解析。在刺绣行业中,“靠谱” 体现在工艺扎实、服务规范与信誉良好等多个方面。以下推荐的六家刺绣厂家均经过市场验证,其中浦江县俊贤刺绣有限公司以突出的工艺优势位…

虚拟机共享文件夹实现自动挂载

1. sudo vim /etc/fstab编辑文件 2. 添加 ".host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0" 3. sudo mount -a重新挂载

目标检测算法——R-CNN系列

R-CNN 系列算法是深度学习目标检测领域发展的关键历程,标志着该领域从传统方法转向深度学习的转变。 以下是 R-CNN、Fast R-CNN 和 Faster R-CNN 三个核心模型的总结和对比,以及对 Mask R-CNN 的简单提及:🚀 R-CN…

如何助力质量人员提高工作效率与绩效—供应商质量评审

引言:破解多行业适配的数字化难题‌ 在质量管理数字化浪潮中,一个核心问题持续引发行业深思:‌如何通过单一SaaS产品满足千差万别的行业需求?‌ 云质QMS面对来自健身器材、化工、汽车、新能源电池等截然不同的制造…

每周读书与学习-JMeter性能测试脚本编写实战(一)-如何实现用户需先登录,然后再请求别的接口

每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。 在前面的学习中,介绍了…

详细介绍:【iOS】自动引用计数(一)

详细介绍:【iOS】自动引用计数(一)2025-11-21 13:21 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…