#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
template<int MaxN>
struct UnionSets{
int Dad[MaxN],limit;
inline void Clear(){
for(int i=0;i<=limit;i++)
Dad[i]=i;
}
inline void Clear(int _limit){
limit=_limit;
Clear();
}
inline int GetDad(int x){
return x==Dad[x]?x:Dad[x]=GetDad(Dad[x]);
}
inline void Union(int x,int y){
x=GetDad(x),y=GetDad(y);
if(x!=y)Dad[x]=y;
}
};UnionSets<310000>U;
int k;
vector<int>Q[110000];
int main(){
scanf("%d",&k);
U.Clear(3*k);
for(int i=0;i<k;i++){
int tt=1ll*i*i%k;
Q[i].push_back((k-tt)%k);
Q[(k-tt)%k].push_back(i);
}
for(int i=2;i<=3*k;i++){
int o=i%k;
sort(Q[o].begin(),Q[o].end());
int size=unique(Q[o].begin(),Q[o].end())-Q[o].begin();
for(int j=0;j<size;j++){
int t=Q[o][j];
if(t<i&&t>0){
if(U.GetDad(i)==U.GetDad(t)){
printf("%d\n",i);
return 0;
}
else U.Union(i,t);
}
if(t+k<i){
if(U.GetDad(i)==U.GetDad(t+k)){
printf("%d\n",i);
return 0;
}
else U.Union(i,t+k);
}
if(t+2*k<i){
if(U.GetDad(i)==U.GetDad(t+2*k)){
printf("%d\n",i);
return 0;
}
else U.Union(i,t+2*k);
}
}
}
puts("-1");
return 0;
}
/*
对于a%k=x,b%k=y,若x!=y,a与b有边相连,则a的剩余类与b的剩余类里的元素也是可以相连的,即a->b->a+k->b+k->a,所以有环
若x==y,则同一剩余类里元素都可以相连,a->a+k->a+2k->a,成环且不会大于3*k
然后利用并查集就可以了,用vector存下可以与其满足对k取余为0的剩余类,枚举t,t+k,t+2*k时的情况,是不是形成了环
https://www.cnblogs.com/shangyu/p/3349385.html
*/
相关推荐
用blender为模型贴图并在gazebo中显示
用blender为模型贴图并在gazebo中显示 首先我用的是最新的blender2.92版本,附上链接https://www.blender.org/download/。并设置好简体中文。语言可以在编辑->偏好设置->界面里面设置。 首先界面右上角的摄像头,方块,灯光三个场景全都删除。 接着导入stl格式的模型文件,下面以tianbot_mini上面的激光雷达的模型为例。 导入激光雷达模型后,点击进入上方的UV Editing按钮进入UV编辑界面 此时我面看见网格化的激光雷达模型
Uva10562(dfs递归看图写树
#include<bits/stdc++.h> using namespace std; const int maxn = 200+10; int n; char buf[maxn][maxn]; void dfs(int r,int c) { printf("%c(",buf[r][c]); if(r+1<n&&buf[r+1][c]=='|')...
【电子元件篇】MOSFET场效应管作用、选型和测量指南-超简单解读
场效应管是一种电压控制型半导体器件,相比三极管具有输入阻抗高、噪声小、功耗低等优势。主要分为结型和绝缘栅型两大类,后者又可分为耗尽型和增强型MOS管。场效应管通过栅极电压控制漏极电流,具有转移特性和输出特性两大静态特性,以及快速的开关特性。其关键参数包括饱和漏源电流、夹断电压、跨导等,应用场景涵盖信号放大、恒流源、阻抗变换等领域。使用时需根据电路需求选择合适类型,如结型管适合一般放大,功率MOSFET适合高压大电流场合。检测时可用万用表电阻档初步判断好坏和放大能力。
UVA 1045 - The Great Wall Game(二分图完美匹配)
UVA 1045 - The Great Wall Game 题目链接 题意:给定一个n*n的棋盘,有n个棋子在上面,现在要移动棋子,每一步代价是1,现在要把棋子移动到一行,一列,或者在主副对角线上,问最小代价 思路:二分图完美匹配,枚举每种情况,建边,边权为曼哈顿距离,然后km算法做完美匹配算出值即可,由于要求最小值所以边权传负数,这样做出来的值的负就是答案 代码:
光电振荡器(OEO):从原理到应用,解锁高频微波信号新纪元
本文深入解析了光电振荡器(OEO)的核心原理与前沿应用。OEO通过巧妙的光-电-光转换机制,利用光学谐振腔产生高频、高纯度、低相位噪声的微波信号,有效突破了传统电子电路的频率瓶颈。文章详细拆解了其工作流程,并探讨了在雷达系统、高速光通信及精密测量等领域的硬核应用价值。
离心泵级间导叶的设计计算
离心泵级间导叶的设计计算高速离心泵级间流道的作用是将第一级复合叶轮流出的高速液流收集起来并送入第二级复合叶轮。级间流道的设计应考虑降低液体的流速,实现动能向压力能转化,减小液体的水力损失。级间流道主要有蜗壳形流道和导叶两种结构形...
URAL 1682 Crazy Professor (并查集)
【题目链接】http://acm.timus.ru/problem.aspx?space=1&num=1682 【题目大意】 给出k,从1开始不断地加一并把这个数写在黑板上,如果写上的数字和之前的数字满足 (a+b*b)%k=0或者(b+a*a)%k=0就在他们之间连一条线,如果黑板上出现环就结束,问能写几个数 【题解】 我们发现写到2k-1的...
YOLOv13改进策略【特征提取层】| 引入注意力卷积模块RFAConv,关注感受野空间特征 助力yolov13精度提升
RFAConv:创新空间注意力和标准卷积运算感受野空间特征是针对卷积核设计的,根据卷积核大小动态生成。以3×3卷积核为例,它由非重叠滑动窗口组成,每个窗口代表一个感受野滑块。
ural 1682
从1写到无穷,每写1个数可以和前面的数连边,连边有两个条件a + b ^ 2 == 0 mod k || b + a ^ 2 == 0 mod k s
基于加速科技ST2500的SN74HC00N芯片测试计划
实际上随着工艺的进步,器件内部和引脚间的绝缘氧化膜越来越薄,导致漏电流发生的概率更大,另外制造过程中的工艺缺陷导致的桥接,异物或封装过程中造成的芯片划伤、引裂,都会造成IC的漏电流偏大,有部分产品可能会表现出漏电流偏大,但功能正常,此类产品具有潜在的可靠性问题,漏电流测试的目的就是把具有此类缺陷的产品筛选出来,避免其流到最终产品造成更大的损失。漏电流的测试方法相对简单,就是根据产品手册或测试规范对被测引脚施加额定的电压,然后测量其输入或流出的电流是否符合相应的设计规范。74HC00引脚功能如表所示。
英飞凌 AURIX TC3XX 系列单片机的链接文件
这篇介绍英飞凌 AURIX TC3XX 系列单片机的链接文件,主要是针对使用 SOTA 功能如何修改链接文件,完整地实现 SOTA 功能
ural1682 Crazy Professor
Crazy Professor Time limit: 1.0 secondMemory limit: 64 MB Professor Nathan Mathan is crazy about mathematics. For an unknown reason, he started to write on the blackboard all positive integers s...
基于粒子群优化的PID控制在药液流量控制系统中的应用
本文提出了一种基于粒子群优化(PSO)的PID控制算法,用于药液流量控制系统。系统采用C37控制器和Codesys 2.3编程环境实现,通过传感器实时监测流量、压力和车速,并控制水泵占空比和电动球阀开度来精确调节药液流量。硬件配置包括FT-2000流量传感器、PT-3000压力传感器和MV-500电动球阀等。控制算法将PSO与PID结合,使用ITAE指标优化PID参数,在Codesys中实现了包含PSO优化循环、PID控制等功能的程序模块。该系统通过分层控制策略和智能优化算法,提高了药液流量控制的精度和响应
Ural 1682 Crazy Professor (并查集)
DescriptionProfessor Nathan Mathan is crazy about mathematics. For an unknown reason, he started to write on the blackboard all positive integers starting from 1. After writing a new number a, Professo
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
大量ACM/ICPC书籍与网站资源
算法丛书分享 1、Concrete Mathematics --- A Foundation For Computer Science Ronald L. Graham , Donald E. Knuth , Oren Patashnik 这本书《具体数学》是Stanford计算机系的教材(1970 年开始给研究生授课),书的内容是Knuth的巨著TAOCP第一章的扩展,涉及
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
深挖C++:类和对象(中)
(先进后出)
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
C++移动构造函数详解
移动构造函数是C++11引入的一种特殊构造函数,用于从临时对象(右值)"窃取"资源来初始化新对象,而不是进行昂贵的深拷贝。char* data;public:// 移动构造函数:参数是右值引用 &&// 关键:把源对象的资源置空。
ThunderKittens 深度解析:一个不基于 MLIR 的 C++ 模板 GPU DSL
Triton 是"让更多人能写 GPU kernel",ThunderKittens 是"让会写的人写得更爽"。前者用 MLIR 换易用性,后者用 C++ 模板换可控性。它们不是替代关系,而是覆盖了 GPU 编程光谱的两端。ThunderKittens 的出现,本质上是对"GPU DSL 必须基于 MLIR"这一默认假设的挑战。编译期类型系统本身就可以是一个强大的 DSL 基础设施,不需要中间 IR,不需要黑盒 pass,也能实现 tile 级抽象和零运行时开销。
跟我学c++中级篇—类型定义的方式
本文系统阐述了编程中类型定义的重要性及c++中的实现方式。重点对比了宏定义、typedef与modern using三种机制,指出using在可读性、灵活性和模板支持上的优势,推荐优先使用。同时提醒开发者注意别名滥用、类型歧义、错误信息冗长等问题,强调统一规范与合理设计。最终结论:在现代c++开发中,应以using为主,兼顾简洁性与可维护性,避免陷入命名混乱与编译困境。
【C语言】字符与字符串函数
C语言中字符串为以\0结尾的字符数组,标准库函数基于此约定。本文解析字符串内存布局,详解ctype.h与string.h中字符分类、长度计算、拷贝、比较等函数的使用要点,强调长度判断与越界风险,最后通过命令行待办事项示例整合fgets、sscanf、strncpy、strcmp,展示实际应用中的关键细节。
C++ 函数模版
模板参数:● template ,T 就是类型占位符,名字可以自定义,习惯用T● 占位符可以在函数返回值、形参、函数内部当作类型使用使用要点模板代码一般写在头文件:编译器需要看到完整模板源码,才能在每个编译单元完成实例化全局函数、类内成员函数都可以写成模板实例化发生在编译阶段,不是运行时隐式实例化:调用时编译器自动推导实参类型,生成对应版本函数。
C++ 运行时多态与虚函数机制全面剖析【面试重点】
构成C++ 运行时多态必须是基类的指针或者引用调用虚函数。被调用的函数必须是虚函数,并且派生类必须对该虚函数完成重写/覆盖(Override)。只有基类的指针或引用才能既指向基类对象,又指向派生类对象(切片机制);而只有完成了虚函数重写,派生类与基类才具备不同的函数行为,达到“指向谁就调用谁”的效果。在类成员函数的前面加上virtual关键字修饰,该成员函数就成为了虚函数。public:// 成员函数前加 virtual 修饰,声明为虚函数。
#SQLite 数据库笔记一:(概念 / 终端指令 / SQL 语句 / C 编程 / 回调函数)
数据库 = 数据的仓库,假设数据是海量。能力说明存储数据持久化保存,程序退出数据还在统计数据、分组、排序数据管理增、删、改、查(CRUD)嵌入式设备上也会用数据库(单片机网关、路由器、工业 HMI 都常见),因为 sqlite 体积小、无需服务进程、单文件即可。数据库 = 库 > 表 > 记录(行) > 字段(列)sqlite3 = 开源、C 写的、单文件、免安装、最多 2T 的嵌入式关系型数据库。
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级 备考:莫队算法离线区间查询详解
备赛进行时:第十八届蓝桥杯软件赛报名已于 2026-10-08 10:00 开启、12-18 14:00 截止,省赛定在 2027-04-10(C/C++·Python 程序设计 9:00–13:00);中国电子学会 2026 年 12 月软件编程(C/C++ 一级至十级、Python 一级至六级)考级报名 9/23–12/2 16:00、统考 12-12;全国青少年信息素养大赛 2026—2027 赛季算法应用主题赛也已进入复盘练兵窗口。
【C++ 基础入门】C++继承(下):问题、底层原理与组合
C++继承(菱形继承的问题、虚继承原理、继承与组合、构造顺序)
825 mW 顶上 212 °C:ASM491S 的 105 °C/W、250 mA 短路电流与热关断
25 °C 环境里结温 34.1 °C,125 °C 环境里结温 134.1 °C——后者已经离 150 °C 只有 16 °C 了,但还在范围内。换个角度看同一件事:从 25 °C 和从 125 °C 起算,温升都是 86.6 °C,但一个到 111.6 °C(还在范围内),一个到 211.6 °C(远远超限)。这个算例里 20 °C/W 是我假设的,实际值取决于机壳材料、密封程度、有没有风扇,跨度可以从 5 °C/W 到 50 °C/W 以上。外面 50 °C 的机箱,盒内就是 63.9 °C。
8001



被折叠的 条评论
为什么被折叠?



