约瑟夫环问题的动态规划解法


约瑟夫环问题 已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为0的人开始报数,数到k的那个人出列;他的下一个人又从1开始报数,数到k的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列,求出最后一个出列的人。 链表模拟解法 今...

约瑟夫环问题的动态规划解法

约瑟夫环问题 已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为0的人开始报数,数到k的那个人出列;他的下一个人又从1开始报数,数...
阅读全文 0

C++大整数类模板


自己写的大整数模板,已经升级到V2.1 功能: 计算大整数加减乘数取模运算,支持无限位数,支持正负数输入输出及运算,支持判断两个大整数的大小 保障: 1.VC++2013,GCC4.7.3运行测试通过 2.学校OJ加减乘除取模均AC //BigInt V2.1 //By KunSoft...

C++大整数类模板

自己写的大整数模板,已经升级到V2.1 功能: 计算大整数加减乘数取模运算,支持无限位数,支持正负数输入输出及运算,支持判断两个大整数的大小 ...
阅读全文 0

快速幂运算


快速幂顾名思义,就是快速算某个数的多少次幂。 其时间复杂度为 O(log2N), 与朴素的O(N)相比效率有了极大的提高。 以下以求a的b次方来介绍 把b转换成2进制数 该2进制数第i位的权为a^(2^(i-1)) 例如: a^11=a^(2^0+2^1+2^3) 11的二进制是1 0 1 1 1...

快速幂运算

快速幂顾名思义,就是快速算某个数的多少次幂。 其时间复杂度为 O(log2N), 与朴素的O(N)相比效率有了极大的提高。 以下以求a的b次方来介绍 把b转...
阅读全文 0

向量叉积的应用(三角形面积,线段相交,多边形面积,多边形凹凸性)


向量叉积有甚多应用,包括求三角形面积,判断线段相交,求多边形面积,判断多边形凹凸性,而且不需要推大量公式,误差较小,非常实用,下面是代码 //向量叉积的应用 #include <bits/stdc++.h> #define EPS 1e-10 using namespace std; struct point{ ...

向量叉积的应用(三角形面积,线段相交,多边形面积,多边形凹凸性)

向量叉积有甚多应用,包括求三角形面积,判断线段相交,求多边形面积,判断多边形凹凸性,而且不需要推大量公式,误差较小,非常实用,下面是代码 //向量叉...
阅读全文 1

浅谈生成全排列的4种方法


方法一:最简单的方法,直接使用STL中的next_permutation函数生成排列   #include <bits/stdc++.h> using namespace std; int main() { char res[] = "ABCD"; do{ puts(res); }while(next_permutation(re...

浅谈生成全排列的4种方法

方法一:最简单的方法,直接使用STL中的next_permutation函数生成排列   #include <bits/stdc++.h> using namespace std; int main()...
阅读全文 0

筛法素数打表的方法


埃拉托斯特尼筛法,是一种公元前250年由古希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。 给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个质数5...

筛法素数打表的方法

埃拉托斯特尼筛法,是一种公元前250年由古希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。 给出要筛数值的范围n,找出以内的素数。先用2去筛,...
阅读全文 1