CF1734E Rectangular Congruence 题解
为什么只有 VP 才会遇到这种简单 E。
题目大意
给定一个质数 和长度为 的序列 ,要求构造一个 矩阵 ,满足所有 (,),有 ,同时 。
数据范围:。
题目解析
对原式移项,得到 。
也就是说,对于任意的 , 两两不同,换句话说,构成一个 的一个排列。
注意到我们如果给一行都加上一个数不会影响 ,所以 的限制可以忽略,只需要最后整行加上一个数即可。
接下来考虑如何得到一个任意的合法的 。
首先假设 ,然后考虑怎么构造 。
我们发现直接让 即可。
换句话说可以直接,。
我们来证明这样是正确的。
换句话说,对于任意的 ,()两两不同。
使用反证法,假设 有 。
发现因为 是质数,,所以 ,得到 ,矛盾,所以假设不成立,证毕。(类似于欧拉定理证明里的一步)
最后为了让 ,所以得到 的通项:
int n,b[maxn]; int main(){ n=read(); int i,j; for(i=1;i<=n;i++) b[i]=read(); for(i=1;i<=n;i++) for(j=1;j<=n;j++) print((i*j-i*i%n+b[i]+n)%n),pc(" \n"[j==n]); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具