当前位置: 首页 > news >正文

题解:P17206 「DLESS-6」Lost Requiem

\(n\) 是质数,所以 \(a_{(xi+y)\bmod{n}}\)\(a\) 的一个置换。这 \(n(n-1)\) 种置换构成一个群,而满足条件的 \(a\) 相当于是所在轨道中字典序最小的序列,因此题目转化为求轨道个数。

\(g(x,y)\) 为对应置换的不动点个数,由 Burnside 引理,所求即为

\[\dfrac{1}{n(n-1)}\sum_{x=1}^{n-1}\sum_{y=0}^{n-1}g(x,y) \]

设满足 \(p_i=(xi+y)\bmod{n}\) 的排列 \(p\)\(c(x,y)\) 个置换环,同一个置换环内必须填同一种数,于是 \(g(x,y)=m^{c(x,y)}\)

考虑如何求出 \(c(x,y)\)

\(x=1,y=0\),则 \(c(x,y)=n\)

\(x=1,y\neq 0\),设从 \(i\) 出发走 \(k\) 步会回到 \(i\),则 \(ky\equiv 0\pmod{n}\),显然满足条件的最小正整数为 \(k=n\),因此 \(c(x,y)=1\)

\(x\neq 1\),考虑 \(t\equiv xt+y\pmod{n}\) 有唯一解。对于任意的 \(i\),将其表示成 \(i=t+j\),则 \(x(t+j)+y\equiv t+xj\pmod{n}\),因此该置换实际上和 \(y=0\) 对应的置换同构。对于 \(i=0\),显然 \(xi=0\),这会贡献一个置换环;对于 \(i\neq 0\),还是设从 \(i\) 出发走 \(k\) 步会回到 \(i\),则 \(x^k\equiv 1\pmod{n}\),因此环长为 \(\operatorname{ord}_n(x)\)。加起来得到 \(c(x,y)=1+\dfrac{n-1}{\operatorname{ord}_n(x)}\)。根据经典结论,对于任意的 \(d\mid(n-1)\),恰好有 \(\varphi(d)\) 个元素的阶为 \(d\)

综上,答案为

\[\dfrac{1}{n(n-1)}\left(m^n+(n-1)m+n\sum_{\substack{d\mid(n-1)\\d>1}}\varphi(d)m^{1+\frac{n-1}{d}}\right) \]

\(n-1\) 做质因数分解,DFS 枚举约数的同时维护 \(\varphi\) 的值即可。时间复杂度为 \(\mathcal{O}(\sqrt{n}+\tau(n-1)\log{n})\)

主要代码
int tc, p, n, m;
vector<pii> vec;
mint sum;mint qpow(mint a, ll b) {mint res = 1;for (; b; b >>= 1) {if (b & 1) res *= a;a *= a;}return res;
}void fac(int n) {vec.clear();for (int d = 2; (ll)d * d <= n; ++d) {if (n % d) continue;int cnt = 0;while (n % d == 0) {n /= d;++cnt;}vec.emplace_back(d, cnt);}if (n > 1) vec.emplace_back(n, 1);
}void dfs(int x, int d, int phi) {if (x == vec.size()) {if (d != 1) sum += phi * qpow(m, (n - 1) / d + 1);return;}auto [pr, cnt] = vec[x];int pw = 1, ph = 1;for (int i = 0; i <= cnt; ++i) {dfs(x + 1, d * pw, phi * ph);if (i == cnt) break;pw *= pr;ph = !i ? pr - 1 : ph * pr;}
}int main() {ios::sync_with_stdio(false);cin.tie(nullptr);cin >> tc >> p;mint::setMod(p);while (tc--) {cin >> n >> m;fac(n - 1);sum = 0;dfs(0, 1, 1);cout << (qpow(m, n) + mint(n - 1) * m + n * sum) / (mint(n) * (n - 1)) << '\n';}return 0;
}
http://www.jsqmd.com/news/1355839/

相关文章:

  • 大模型后训练实践指南:从SFT到RLHF的完整流程与避坑要点
  • ncmdump解密工具:三步解锁网易云音乐NCM文件播放限制
  • 全行业通用AI论文平台,掌桥科研AIVS豆包避坑指南 - 掌桥科研-AI论文写作
  • 2026年最新教程:手机上怎么制作拼豆图纸 亲测好用方法 - 软件测评小帮手
  • 多场景适配AI论文工具,掌桥科研AI论文写作VSChatGPT2026最新实测 - 掌桥科研-AI论文写作
  • 13
  • 彻底解决Dev-C++中文乱码:从编码原理到实战配置
  • nvidia/corrdiff-cosmo-era5性能优化指南:在A100/H100上实现高效推理的6个技巧
  • RAG/搜索召回之二——Embedding模型bge-m3微调
  • 微信小程序开发实战:宠物领养系统架构与优化
  • Python pip镜像源配置全攻略:加速安装与最佳实践
  • 2026年电子级无水乙醇供应市场格局与佛山市常兴新材料有限公司产业价值分析 - 优企名品
  • 2026 小型 50 立方以内制氮机厂家**|小流量 PSA 制氮设备选购测评 - 产品评测官
  • Fusion Pixel Font深度技术解析:多语言像素字体完整实现指南
  • 2026年中高端酒店的新宠 - 优企甄选
  • 2026年08月江西到东莞特快专线服务公司选型参考 - 卓企推荐
  • 终极Obsidian美化指南:15个简单CSS技巧打造你的专属知识空间
  • 【Bug已解决】Qwen3.5 GatedDeltaNet: Large logit divergence between full-sequence forward and prefill+deco
  • FREE-openai-api-keys:重新定义AI开发测试的免费解决方案
  • 如何快速提升Windows性能:开源工具的完整优化指南
  • Java垃圾收集器原理与性能调优指南
  • 2026年最新教程:卡通图片怎么转成拼豆图纸 亲测好用的免费方法 - 软件测评小帮手
  • 5分钟搭建B站动态推送QQ机器人:免费开源的高效解决方案
  • 2026年8月上海长宁区离婚律所哪家靠谱?4家专注涉外与复杂离婚的律所分析 - 品牌深度评测
  • Java Excel处理:HSSF、XSSF与SXSSF内存模型、性能对比与选型指南
  • 长沙户外路灯厂有哪些怎么选湖北耀朗照明工程有限公司(长沙服务中心) - 热点品牌推荐
  • 2026年AI大模型推荐逻辑下企业获客路径对比指南 - 筑云鲸
  • 河间雅丝奈木作定位如何?中高端整装定制认准雅丝奈家居定制(河间销售中心) - 热点品牌推荐
  • Video2X:基于深度学习的开源视频超分辨率与帧插值框架技术解析
  • 英伟达Feynman架构与NemoClaw平台解析:AI算力与智能体开发的革新