热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

某道XJ题

题意经过打表找规律和题意转化后,题意如下:假定\(p\leq2*{10}^5,q\leq10^9,F(n)\prod_{i1}^n(q^i-1)\),且\(p,q\in\mathb

题意

经过打表找规律和题意转化后,题意如下:

假定\(p \leq 2 * {10} ^ 5, q \leq 10 ^ 9, F(n) = \prod_{i = 1} ^ n (q ^ i - 1)\),且\(p, q \in \mathbb{P}\),求\(\frac{F(n + m)}{F(n) F(m)} \bmod p\)。


题解

令\(r\)为\(q\)在\(\bmod p\)下的阶,则

\[
q ^ r \equiv 1 \bmod p \\q ^ r - 1 \equiv 0 \bmod p \\
\]

\[
\begin{aligned}F(n)& = \prod_{i = 1} ^ n (q ^ i - 1) \\& \equiv \left(\prod_{i = 1} ^ {r} (q ^ i - 1)\right) ^ {\lfloor \frac{n}{r} \rfloor} \left(\prod_{i = 1} ^ {n \bmod r} (q ^ i - 1) \right) \bmod p \\ & \equiv \left(\prod_{i = 1} ^ {r - 1} (q ^ i - 1)\right) ^ {\lfloor \frac{n}{r} \rfloor} \left(\prod_{i = 1} ^ {n \bmod r} (q ^ i - 1) \right) \left(\prod_{i = 1} ^ {\lfloor \frac{n}{r} \rfloor} (q ^ {ir} - 1) \right) \bmod p \\ \end{aligned}
\]

对于\(\frac{F(n + m)}{F(n)F(m)}\),主要问题是处理\(\prod (q ^ {ir} - 1)\)的部分(其他部分都有逆元,较容易,需要预处理的部分在\(\mathcal O(p)\)的时间就可以完成)。

令\(G(n) = \prod_{i = 1} ^ {\lfloor \frac{n}{r} \rfloor} (q ^ {ir} - 1)\),则

\[
\begin{aligned}G(n)& = \prod_{i = 1} ^ {\lfloor \frac{n}{r} \rfloor} (q ^ r - 1)(q ^ {(i - 1)r} + q ^ {(i - 2)r} + \ldots + 1) \\& \equiv \prod_{i = 1} ^ {\lfloor \frac{n}{r} \rfloor} (q ^ r - 1)(1 + 1 + \ldots + 1) \bmod p \\& \equiv \prod_{i = 1} ^ {\lfloor \frac{n}{r} \rfloor} (q ^ r - 1) \cdot i \bmod p \\& \equiv (q ^ r - 1) ^ {\lfloor \frac{n}{r} \rfloor} \left({\lfloor \frac{n}{r} \rfloor} \right)! \bmod p \\\end{aligned}
\]

则涉及到的部分\(\frac{G(n + m)}{G(n) G(m)}\)即为

\[
\begin{aligned}& \frac{(q ^ r - 1) ^ {\lfloor \frac{n + m}{r} \rfloor} \left({\lfloor \frac{n + m}{r} \rfloor}\right)!}{(q ^ r - 1) ^ {\lfloor \frac{n}{r} \rfloor} \left({\lfloor \frac{n}{r} \rfloor}\right)! (q ^ r - 1) ^ {\lfloor \frac{m}{r} \rfloor} \left({\lfloor \frac{m}{r} \rfloor}\right)!} \bmod p \\\equiv & \frac{(q ^ r - 1) ^ {\lfloor \frac{n + m}{r} \rfloor} \left({\lfloor \frac{n + m}{r} \rfloor}\right)!}{(q ^ r - 1) ^ {\lfloor \frac{n}{r} \rfloor + \lfloor \frac{m}{r} \rfloor} \left({\lfloor \frac{n}{r} \rfloor}\right)! \left({\lfloor \frac{m}{r} \rfloor}\right)!} \bmod p \\\end{aligned}
\]

易见,当且仅当\(\lfloor \frac{n + m}{r} \rfloor = \lfloor \frac{n}{r} \rfloor + \lfloor \frac{m}{r} \rfloor\)的时候,上式不为0。

否则,包含\((q ^ r - 1)\)的部分全部消去,剩下的是一个组合数的计算,是个经典问题,可以用lucas定理\(\mathcal O(\log n)\)递归处理。

总复杂度\(\mathcal O(p + T \log n)\)。



推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 深入理解Java泛型:JDK 5的新特性
    本文详细介绍了Java泛型的概念及其在JDK 5中的应用,通过具体代码示例解释了泛型的引入、作用和优势。同时,探讨了泛型类、泛型方法和泛型接口的实现,并深入讲解了通配符的使用。 ... [详细]
  • openGauss每日一练:第6天 - 模式的创建、修改与删除
    本篇笔记记录了openGauss数据库中关于模式(Schema)的创建、修改和删除操作。通过这些操作,用户可以更好地管理和控制数据库对象。实验环境为openGauss 2.0.0,并使用由墨天轮提供的线上环境。 ... [详细]
  • 探讨如何为魔兽世界中的神圣牧师配置宏,实现一键施放治疗之环和摧心魔(针对敌对目标),并讨论饰品使用的最佳实践。 ... [详细]
  • 南方CASS专题系列:全面教程、视频讲解与插件汇总
    本专题系列涵盖南方CASS的完整教程、详细视频讲解及实用插件,旨在帮助用户快速掌握该软件。南方CASS基于CAD平台开发,集成了地形图绘制、地籍管理、空间数据建库、工程应用和土石方计算等多项功能,广泛应用于测绘、工程等领域。 ... [详细]
  • 本文深入探讨了ConcurrentHashMap在Java 1.7和1.8版本中的锁机制变化,详细分析了从分段锁到CAS(Compare-And-Swap)与synchronized结合的转变过程及其性能优化。 ... [详细]
  • 本文详细介绍了Debian及其衍生发行版中如何通过/etc/network/interfaces文件进行网络接口的配置,对比了Red Hat系系统的不同之处,并提供了多种常见配置示例及解析。 ... [详细]
  • 在Java中,this是一个引用当前对象的关键字。如何通过this获取并显示其所指向的对象的属性和方法?本文详细解释了this的用法及其背后的原理。 ... [详细]
  • 本文详细探讨了如何在Docker环境中实现单机部署Redis集群的方法,提供了详细的步骤和配置示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文深入探讨了HTTP请求和响应对象的使用,详细介绍了如何通过响应对象向客户端发送数据、处理中文乱码问题以及常见的HTTP状态码。此外,还涵盖了文件下载、请求重定向、请求转发等高级功能。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 中科院学位论文排版指南
    随着毕业季的到来,许多即将毕业的学生开始撰写学位论文。本文介绍了使用LaTeX排版学位论文的方法,特别是针对中国科学院大学研究生学位论文撰写规范指导意见的最新要求。LaTeX以其精确的控制和美观的排版效果成为许多学者的首选。 ... [详细]
  • Qt QTableView 内嵌控件的实现方法
    本文详细介绍了在 Qt QTableView 中嵌入控件的多种方法,包括使用 QItemDelegate、setIndexWidget 和 setIndexWidget 结合布局管理器。每种方法都有其适用场景和优缺点。 ... [详细]
  • 社交网络中的级联行为 ... [详细]
author-avatar
丁可丁可_136
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有