hihoCoder #1639 图书馆
题目大意
给定 $n$($1\le n\le 1000$)个正整数 $a_1, a_2, \dots, a_n$($a_i \le 10^{12}$),令 $s$ 为这 $n$ 个数之和。求
$$
\frac{s! } {\prod\limits_{1\le i\le n} a_i !} \bmod 10
$$
解法
中国剩余定理。
设上式中左边的商为 $x$,先分别求出 $x \bmod 2$ 和 $x\bmod 5$, 再利用中国剩余定理就可求得答案。
这个问题归结为:
对于素数 $p$ 和正整数 $n$,将 $n!$ 写成 $n! = ap^{k}$,且 $p$ 不是 $a$ 的因子。求 $a$ 和 $k$ 。
不难发现:
设 $n$ 的 $p$-进制展开式为
$$ n = b_0 + b_1 p + b_2 p^2 + \dots + b_r p^r \qquad ( 0 \le b_i \in \mathbb{Z} < p, b_r > 0) $$
则有
\begin{align}
k & = [n/p] + [n/p^2] + [n/p^3] + \dots + [n/p^r] \\
a & \equiv (p-1)!^{k} b_0! b_1! \dots b_r! \pmod{p} \label{Eq:2}
\end{align}
其中 $[x]$ 表示不超过 $x$ 的最大整数。
(令 $B = b_0 + b_1 + ... + b_r$,不难证明,$k$ 还可以写成 $k = \frac{n - B}{p-1}$)
根据 Wilson 定理,\eqref{Eq:2} 可写成
\begin{equation}
a \equiv (-1)^{k} b_0! b_1! \dots b_r ! \pmod{p}
\end{equation}
算法的复杂度为 $O(p + \log_p n)$ 。
从这个问题中积累的新模型
一、$\frac{A}{B}\bmod p$($B$ 能整除 $A$ 且 $p$ 是素数)的解法。
二、$n! \bmod p$($p$ 是素数) 的解法。
下面考虑:模数不是 $10$ 而是 $20$ 的情况下,此题如何求解。
仍循旧思路,采用中国剩余定理,我们需要求出 $x \bmod 4$;按旧办法求当然是可以的。注意:由于要预处理出 $0$ 到 $p-1$ 的阶乘,所以(对于旧思路)能否用 Wilson 定理并不影响复杂度。
如果模数的某个素因子的次数 $k$ 很高,求 $x \bmod p^k$ 的复杂度 $O(p^k + \log_{p^k} n)$ 就不能容忍了。很自然地,我们会考虑 $x\bmod p$ 与 $x\bmod p^k$ 之间的关系。
(留坑)
转载于:https://www.cnblogs.com/Patt/p/8166565.html
hihoCoder #1639 图书馆相关推荐
- 图书馆图书上架_【消息】暑假好去处,明光市图书馆很多新书上架啦......
暑假即将来临, 各位小伙伴打算怎么度过这个暑假的呢? 宅在家里? 除了玩电脑.玩手机之类的电子产品之外 无所事事吗? 其实, 在炎热的夏天, 没有比图书馆更适合独坐的地方了. 一人.一书.一茶,一世界 ...
- 使用Oracle创建图书馆数据库(book reader lib loan表)
-- 一.创建表 -- 创建图书馆管理系统所涉及的表 -- 创建产品销售系统所涉及的表 -- 1.图书表book(bid,bname,price,qty) DROP TABLE book cas ...
- 使用Oracle创建图书馆数据库
select * from bookinsert into book values('001','大型数据库技术',28.3,200,'是') insert into book values('002 ...
- hihoCoder 网络流四·最小路径覆盖
题面带解释 hihoCoder感觉很好. 网络流的精华就是建图 #include<cstdio> #include<iostream> #include<algorith ...
- 光剑免费图书馆 Free Ebooks
2019独角兽企业重金招聘Python工程师标准>>> 光剑免费图书馆 Free Ebook: 全球免费开放的电子图书馆 主页 光剑免费图书馆 Free Ebooks 道之所在,虽千 ...
- GOOGLE突破图书馆入口IP限制之技巧
很多图书馆都要注册或要本地IP才能浏览或下载图书,有没有另类的快速办法能快速突破图书馆的入口,能随意地下载图书呢? 希望大家在GOOGLE里试试这个:"index of/ " in ...
- Tor 出口节点将运行在图书馆的电脑上
Tor 匿名网络项目宣布与 Library Freedom Project合作,在图书馆的电脑上运行 Tor 出口节点.在Tor匿名网络中,出口节点是Tor用户访问目标网站的最后一个中继,也是法律风险 ...
- hihoCoder #1142 : 三分求极值
#1142 : 三分·三分求极值 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 这一次我们就简单一点了,题目在此: 在直角坐标系中有一条抛物线y=ax^2+bx+c和一 ...
- hihocoder 后缀自动机专题
一.后缀自动机基本概念的理解 1.首先后缀自动机的状态是由子串的endpos来决定的 子串的endpos是指一个子串可以在原字符串的哪些位置进行匹配, endpos构成的不同集合划分成不同的状态 关于 ...
最新文章
- 面试官:说一下限流、熔断、高可用?好多人一脸懵!
- R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来
- 王树彤IT美女七年磨一剑
- 机器学习领域中的六大误区
- JSP标准标签库JSTL总结
- 科大星云诗社动态20211108
- HDOJ 1056 HangOver
- 我也不知道该咋分类--莫队算法
- django框架预备知识
- Linux文件名中加入时间
- 夺命雷公狗---javascript NO:19 Navigator浏览器对象
- TensorFlow2.0:张量排序
- plc用c语言编写程序,plc编程和c语言编程的联系
- cpuv(cpuv2和v3有什么区别)
- Unity 关于制作UV动画,模拟管路气路流向示意图
- C++-从cpp文件到exe文件的过程
- 本地计算机如何使用代理服务器,自动设置代理ip
- javascript招式总结
- sublime_字体更换
- 计算机常用软件实验报告,计算机常用应用软件的安装和使用实验报告.doc
热门文章
- 每天一道LeetCode-----字符串乘法
- Xcode 9 新建的工程如何支持 iOS 8
- 总结xml配置spring-aop声明式事务配置与hibernate报错:** isno active spring和hibernate整合,原因会话工厂去路(到spring不仅仅是bean)错误
- Uart接口的详细解释
- S3C2440启动代码分析
- 计算器服务端/客户端
- 校门外的树+矩阵旋转
- 记录 之 tf.placeholder() 函数的意义及用法
- redis 源码阅读
- [BUUCTF-pwn]——[第五空间2019 决赛]PWN5