04 2016 档案
摘要:费马小定理 定义:如果p是质数,并且a不能被p整除,那么a^(p-1) ≡ 1 mod p。 (据说现在是小学五年级的奥数定理、、、我大天朝崛起指日可待了、、、) 定理解释:如果p是一个质数(也就是素数),而且a不能被p整除,那么就会有a^(p-1) % p == 1。不过这只是个必要条件,也就是说
阅读全文
摘要:汉诺塔通项公式证明: 设三个塔分别为A、B、C。并设当A塔初始有n个盘子的时候,转移到C塔需要用T(n)步。 首先,有如下规律: T(0) = 0 (当没有盘子的时候当然为0) T(1) = 1 T(2) = 3 T(3) = 7 ..... T(n) = T(n - 1) + 1 + T(n -
阅读全文
摘要:快速幂 求a的b次幂,如3^999次幂,最最普通的做法就是嵌套循环,不断累乘,最后得出结果,而快速幂算法可以更快的实现。 题目: 计算a^b = ?. 分析: 把b换成二进制,用位运算计算结果。 代码:
阅读全文
摘要:题目描述: 给出两个多项式,最高次幂分别为n和m,求解这两个系数相乘得到的系数数组。 分析: 最高次幂如果是m和n,那么他们相乘得到的系数数组的最高次幂一定是n+m,对于其他的系数,不妨设a[],b[]是给定的两个系数数组,c[]是求解的答案数组,那么: c[i + j] += a[i] * b[j
阅读全文
摘要:六人聚会 题目描述: 设有任意六个人聚会,证明这六个人中要么三个人曾经相识,要么三人曾经不相识。 题目分析: 可以设A、B、C、D、E、F六个点,分别代表一个人,这六个人构成一个完全图。 (1)如果两个人相识,那么两个人用一红边连起来 (2)如果两个人不相识,那么两个人用一条蓝边连起来 所以,题目就
阅读全文
摘要:Tarjan算法详解 今天偶然发现了这个算法,看了好久,终于明白了一些表层的知识、、、、在这里和大家分享一下。。。 Tarjan算法是一个求解极大强联通子图的算法,相信这些东西大家都在网络上百度过了,这里不再赘述。 在这个算法中,定义了两个数组,一个是dfn数组,一个是low数组,相信大家在这里就晕
阅读全文
摘要:cout格式化的方式有很多,和C中的printf相比较,在实现方式上更加容易理解。 1、计数进制。 1、十六进制:hex 2、八进制:oct 3、十进制:dec(默认) 在控制进制的时候,可以使用两种格式: (1)hex(cout); //也可以是oct(cout)或dec(cout) (2)cou
阅读全文
摘要:在Java中,有时候会要测试程序的性能,所以会采用System.currentTimeMillis()等类库函数去测试时间开销。 在C++中同样可以完成此功能。 头文件: #include<ctime> 示例程序: 这段程序输出了循环N次计算机需要的时间。 clock_t 类型是ctime的内置类型
阅读全文

浙公网安备 33010602011771号