![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM_数论
文章平均质量分 52
Ch_zaqdt
这个作者很懒,什么都没留下…
展开
-
__gcd()
在翻别人的题解的时候偶然发现了这个函数,然后就去查了查,但是相关内容不多,__gcd(x,y);好像是GNU的内部函数,不是一个标准库里的函数,平时写题直接用这个函数挺方便的,int、long long类型都可以,需要注意的是两个类型必须要相同,还有就是不能用浮点型,当然也可以手写gcd函数,它头文件是algorithm。#include <iostream&...原创 2018-07-06 17:33:28 · 14491 阅读 · 4 评论 -
Lucas(卢卡斯定理)模板
Lucas用来求C(n,m)%p的值,适用于解决n,m较大,p(一定为素数)小于1e6的情况。 模板: #include <iostream>#include <cstdio>#include <cstring>#define ll long longusing namespace std;const int ma...原创 2018-04-06 15:48:04 · 405 阅读 · 0 评论 -
卡特兰数(Catalan)
卡特兰数又称卡塔兰数,卡特兰数是组合数学中一个常出现在各种计数问题中的数列。个人觉得和斐波那契数列差不多,卡特兰数的地推公式为:pre(n) = pre(0) * pre(n-1) + pre(1) * pre(n-2) + ... + pre(n-1) * pre(0) (n>=2),pre[0] = pre[1] = 1; 以下公式摘自百度百科:另类递推...原创 2018-03-21 17:50:05 · 306 阅读 · 0 评论 -
K.Upside down primes(求大素数--米勒卡宾算法--Miller_Rabin)
题目链接:https://nanti.jisuanke.com/t/28400 题意是给一串数字,然后对这串数字进行180度翻转,其中1,2,5,8,0翻转完还是它本身,6翻转完是9,9翻转后是6,3,4,7都无法翻转(直接输出no就好)。如果刚开始输入的数字为素数且最后翻转后的数字也是素数的话就输出yes,否则输出no。 刚开始我用了6n±1来判断素数发现只...原创 2018-07-13 14:42:42 · 384 阅读 · 0 评论 -
勾股数组
&amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;amp;amp;amp;amp;nbsp;&amp;amp;a原创 2018-08-26 11:24:30 · 5813 阅读 · 0 评论 -
牛客寒假算法基础集训营2 A. 处女座的签到题(数学)
题目链接:https://ac.nowcoder.com/acm/contest/327/A 这道题的数据范围不大,所以可以很容易想到暴力去求解,然后我们再考虑一下做法,给了三个点,要求三角形的面积,可以用海伦公式,但是在计算的过程中精度损失过大,而且数据范围是1e9的,double存不下,所以我们还可以用向量法,来求叉积,根据数学知识可知,求得一个顶点的两个向量时,就可以求...原创 2020-02-14 20:09:01 · 331 阅读 · 4 评论 -
牛客寒假算法基础集训营4 E. Applese涂颜色(思维+数论)
题目链接:https://ac.nowcoder.com/acm/contest/330/E 结论其实不难推出来,因为要求每一行的相邻的颜色不能一样,那么肯定就是黑白黑白这样交替,那么对于每一行来说都有两种方案,那么结果就是2^n,然而这道题的难点不是推结论,而是高精度,n和m的数据范围都是10^100000,这道题可以用欧拉降幂去写,首先欧拉定理是x^phi(y) ≡ 1(...原创 2020-02-14 20:08:13 · 342 阅读 · 0 评论