哇,这道题真的好好,让我这个菜鸡充分体会到卢卡斯和欧拉函数的强大! 先把题意抽象出来!就是计算这个东西。 p=999911659是素数,p-1=2*3*4679*35617 所以:这样只要求出然后再快速乘法就行了。 那好,怎么做呢? 有模运算的性质得到 然后就是卢卡斯原理。 先把卢卡斯原理放这里: ...
分类:
其他好文 时间:
2018-11-15 23:18:33
阅读次数:
237
做了这么长时间数论 应该整合一下 在mod意义下 我们能完成的运算: 加 减(mod m + m mod m) 快速幂 快速乘 逆元(除) 有有解的条件 开方? 这个设计原根的知识 下一篇讲 然后 就是取对数了 也就是著名的 离散对数 问题 (话说连续对数还不太熟练呢.....) Question: ...
分类:
其他好文 时间:
2018-10-17 14:44:22
阅读次数:
208
一句话题意:三维空间划分四维空间,最多能划分成多少个部分。 我们直接想四维的不好想,但是一般这种题我们考虑从低维开始做起。 在经过手算之后我们可以发现: 设$f(x)$为零维(点)切一维(线)最多划分的部分,递推式:$f(x)=f(x 1)+1$ 设$g(x)$为一维(线)切二维(平面)最多划分的部 ...
分类:
其他好文 时间:
2018-10-17 00:01:52
阅读次数:
173
快速乘测试对比程序: #include<bits/stdc++.h> using namespace std; typedef long long ll; ll rd() { return rand()|(ll(rand())<<32); } ll md; ll mul1(ll x,ll y) { ...
分类:
其他好文 时间:
2018-10-10 23:52:17
阅读次数:
213
题目: 电音之王 题解: 求数列前n项相乘并取模 思路: ①、这题的乘法是爆long long的,可以通过快速幂的思想去解决(按数位对其中的一个数进行剖分)。当然你的乘法会多出一个log的复杂度... ②、O(1)快速乘:一种O(1)复杂度求解整数相乘取模的思路(它对于64位的整型也是适用的): 来 ...
分类:
其他好文 时间:
2018-10-06 14:23:29
阅读次数:
229
从同机房大佬那里听来的... 用O(1)时间求出两个相乘超过long long的数的取摸的结果 神奇的操作... ...
分类:
其他好文 时间:
2018-09-15 23:16:47
阅读次数:
158
玄学优化 玄学优化 玄学优化 玄学优化 防止long long相乘爆掉 LL modmul(LL A,LL B,LL mod) { return (A*B-(LL)((long double)A*B/mod)*mod+mod)%mod; } 详见2009国家队论文《论程序底层优化的一些方法与技巧》 ...
分类:
其他好文 时间:
2018-08-10 21:12:52
阅读次数:
328
STL "STL中的nth_element()方法的使用" 数学 "捡石子游戏、 Wythoff 数表和一切的 Fibonacci 数列—— Matrix67" "第二类斯特林数通项公式推导" "计算几何 ——tsy" "01分数规划入门" "O(1)快速乘" "数论各种小定理" "素性测试" "组 ...
分类:
其他好文 时间:
2018-08-05 10:24:34
阅读次数:
122
一、快速幂 快速幂是用于解决类似$a^b$ $mod$ $p$值类型的问题的。使用普通的方法是从$1$循环至$b$,再逐次累乘,逐次取模。但这种方法对于$b$很大的时候却可能会超时。那么,这时候我们就需要使用快速幂了。 快速幂是基于以下式子: 若$b$ $mod$ $2=1$,则$a^b=a^\fr ...
分类:
其他好文 时间:
2018-08-04 22:33:08
阅读次数:
226
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2294 题意:按照所给负号进行赋值、加、减乘、除和取余的操作。 解题思路:用map来存储字符串与值之间的对应关系。 ll 只能存64位,对于所给的六种运算,只有乘法有可能溢出。故对乘法采用快速乘取模的方法。将乘法 ...
分类:
其他好文 时间:
2018-08-02 20:52:06
阅读次数:
302