2016年5月18日

质数测试

摘要: 也即是说:假设我们要测试n是否为质数。我们可以随机选取一个数a,然后计算a^(n-1) mod n,如果结果不为1,我们可以100%断定n不是质数。 否则我们再随机选取一个新的数a进行测试。如此反复多次,如果每次结果都是1,我们就假定n是质数。 该测试被称为Fermat测试。需要注意的是:Ferma 阅读全文

posted @ 2016-05-18 11:49 鱼泪儿 阅读(357) 评论(0) 推荐(0) 编辑

2016年4月16日

求树的直径

摘要: 树的直径是指树的最长简单路。求法: 两遍BFS :先任选一个起点BFS找到最长路的终点,再从终点进行BFS,则第二次BFS找到的最长路即为树的直径; 原理: 设起点为u,第一次BFS找到的终点v一定是树的直径的一个端点 证明: 1) 如果u 是直径上的点,则v显然是直径的终点(因为如果v不是的话,则 阅读全文

posted @ 2016-04-16 13:07 鱼泪儿 阅读(142) 评论(0) 推荐(0) 编辑

2016年2月18日

常用排序的实现方法(数据结构)

摘要: 快排: 思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 代码: 1 #include <iostream> 2 using namespac 阅读全文

posted @ 2016-02-18 18:41 鱼泪儿 阅读(281) 评论(0) 推荐(0) 编辑

关于整数的整数因子和问题的若干研究(数学)

摘要: 奉上原作链接:http://wenku.baidu.com/view/e55ca209ba1aa8114431d98a.html 算数基本定理:每个大于1的自然数均可写为质数的积,而且这些素因子按大小排列之后,写法仅有一种方式(在排列组合中也有讲)。例如:1200 = 24*3*52。 待续。。 阅读全文

posted @ 2016-02-18 12:02 鱼泪儿 阅读(221) 评论(0) 推荐(0) 编辑

2016年2月17日

状态压缩中常用的位运算(DP)

摘要: 面对位运算,一直很无感。。。可能数学太差,脑洞太小。 1.首先是最基本的: 与&,或|,非~,异或^。 2.获取一个或者多个固定位的值: 假设 x = 1010(二进制),我们要取左数第二位的值,可以用(x &(1<<1)); 还可用(x&(3<<2))来取得第三位和第四位。 3.把一个或者多个固定 阅读全文

posted @ 2016-02-17 21:03 鱼泪儿 阅读(385) 评论(0) 推荐(0) 编辑

舞蹈链--求精密覆盖(数据结构)

摘要: 额。 第一次把博文看完,感觉之前有点懒呀。。 尊重原作者,送上链接一份。(http://www.cnblogs.com/grenet/p/3145800.html) 再往下是bin神的模板。 1 /* *********************************************** 2 阅读全文

posted @ 2016-02-17 18:25 鱼泪儿 阅读(231) 评论(0) 推荐(0) 编辑

高斯消元模板,整数(数学)

摘要: 线性代数,原理不讲了。。。 1 /* 用于求整数解得方程组. */ 2 3 #include <iostream> 4 #include <string> 5 #include <cmath> 6 using namespace std; 7 8 const int maxn = 105; 9 10 阅读全文

posted @ 2016-02-17 17:34 鱼泪儿 阅读(385) 评论(0) 推荐(0) 编辑

2016年2月13日

树状数组 (数据结构)

摘要: 扫盲篇: 在线的数据结构,支持随时修改某个元素的值,复杂度也为log级别。 假设A[]数组为存储原来的值得数组,C[]为树状数组。 我们定义:C[i] = A[i - 2^k + 1] + ..... + A[i] 其中k为i用二进制表示时的末尾0的个数。例如:i= 10100,则k = 2,i = 阅读全文

posted @ 2016-02-13 15:40 鱼泪儿 阅读(134) 评论(0) 推荐(0) 编辑

2016年2月12日

二叉树还原--通用类型模板类(数据结构)

摘要: 已知前序中序 求层次遍历 阅读全文

posted @ 2016-02-12 11:33 鱼泪儿 阅读(290) 评论(0) 推荐(0) 编辑

2016年2月3日

Jan's light oj 01--二分搜索篇

摘要: 碰到的一般题型:1.准确值二分查找,或者三分查找(类似二次函数的模型)。 2.与计算几何相结合答案精度要求比较高的二分查找,有时与圆有关系时需要用到反三角函数利用 角度解题。 3.不好直接求解的一类计数问题,利用二分直接枚举可能的结果,再检查是否符合题目要求。 4.区间求解,即利用两次二分分别查找有 阅读全文

posted @ 2016-02-03 18:59 鱼泪儿 阅读(206) 评论(0) 推荐(0) 编辑

导航