
程序代码
文章平均质量分 83
Rappy
这个作者很懒,什么都没留下…
展开
-
比较某排列生成算法的递归版和非递归版的效率
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 2007-07-11// By Rappizit@yahoo.com.cn//// 比较某排列生成算法的递归版和非递归版的效率// 该算法生成 List [p.原创 2007-07-11 23:32:00 · 1465 阅读 · 0 评论 -
如何计算N!的最后一位非零数字(POJ 1604 Just the Facts)
题目来源:http://acm.pku.edu.cn/JudgeOnline/problem?id=1604Sample Input122612531259999Sample Output 1 -> 1 2 -> 2 26 -> 4 125 -> 8 3125 -> 2 9999 -> 8例如 N = 26,N! = 4032914611266056355840000原创 2007-11-26 21:31:00 · 6801 阅读 · 0 评论 -
无向图的欧拉回路线性时间算法
// 无向图的欧拉回路线性时间算法// by rappizit@yahoo.com.cn// 2007-11-02#include vector>#include list>#include stack>#include algorithm>#include iostream>using namespace std;#define pause system("pause")typedef原创 2007-11-02 21:20:00 · 2691 阅读 · 2 评论 -
判断线段相交
#include iostream>using namespace std;template class T>T Direction (T x1, T y1, T x2, T y2, T x3, T y3){ // P1 -> P2 -> P3, 如果方向不变,返回 0。如果顺时针旋转,返回正数。如果逆时针旋转,返回负数。 return (x3 - x1) * (y2 - y1)原创 2007-10-14 03:27:00 · 1729 阅读 · 0 评论 -
单源最短路 Dijkstra 算法 C++高效实现
#include iostream>#include vector>#include using namespace std;typedef vector int> vi;typedef pair int, int> ii;typedef vector ii> vii;typedef vector vii> vvii;const int INF = 0x7FFFFFFF;// 创建一个赋权邻接原创 2007-10-31 20:57:00 · 4012 阅读 · 4 评论 -
JAVA BigInteger 类用例 1:求一个大整数的平方根的整数部分 (SGU 111)
111. Very simple problemTime Limit: 0.25 sec, Memory Limit: 1 MBYou are given natural number X. Find such maximum integer number that it square is not greater than X.InputInput file contains number X原创 2007-10-28 07:02:00 · 7206 阅读 · 0 评论 -
二分图的最佳匹配(KM 算法)
找了标程研究了一下,修改成自己的风格了,贴上来。 引用:KM算法是通过给每个顶点一个标号(叫做顶标)来把求最大权匹配的问题转化为求完备匹配的问题的。设顶点Xi的顶标为A[i],顶点Yi的顶标为B [i],顶点Xi与Yj之间的边权为w[i,j]。在算法执行过程中的任一时刻,对于任一条边(i,j),A[i]+B[j]>=w[i,j]始终 成立。KM算法的正确性基于以下定理: 若由二分图中所有满原创 2007-09-19 05:21:00 · 14678 阅读 · 5 评论 -
二分图的最大匹配(匈牙利算法)
看书看了好久,看不懂。上网找代码研究,还是不懂。突然瞄到书上的插图,顿悟,哈哈^_^将这里的代码修改了一些,贴上来。。// 二分图的最大匹配(匈牙利算法)#include cstdio>#include memory.h>using namespace std;const int XV = 100;const int YV = 300;int xv, yv; // X , Y原创 2007-09-17 04:57:00 · 2445 阅读 · 0 评论 -
N 皇后问题
N 皇后问题 :在 N * N 的棋盘上,放置 N 个皇后,要求每一行,每一列,每一对角线上均只能放置一个皇后,求可能的方案及方案数。 对于 N = 8,采用回溯法很容易求解。今天早上用了大约 10 分钟就搞定了,代码如下:// n-queens 计数(朴素回溯)// by rappizit @ 2007-09-10#include cstdio>#include cmath>原创 2007-09-10 20:19:00 · 1753 阅读 · 0 评论 -
斐波那契数的 O(lgn) 时间复杂度算法
看了算法导论的第 31 章的思考题 31-3,写了点代码。This problem compares the efficiency of three methods for computing the nth Fibonacci number Fn, given n. Assume that the cost of adding, subtracting, or multiplying t原创 2007-08-17 00:02:00 · 5485 阅读 · 0 评论 -
欧拉 phi 函数代码
今天看算法导论 ,看到欧拉 phi 函数,发现可以对之前写过的代码进行优化,所以重写了一次代码。欧拉函数是指:对于一个正整数 n ,小于 n 且和 n 互质的正整数(包括 1)的个数,记作 φ(n) 。 // 欧拉函数的求法:求出 n 的质因子 p1, p2, ... ,则 // EulerPHI (n) = n * (1 - 1 / p1) * (1 - 1 / p2) * ...#in原创 2007-08-16 23:30:00 · 4664 阅读 · 2 评论 -
SPOJ tutorial 429 Simple Numbers Conversion 解题报告
题目来源: https://www.spoj.pl/problems/TCONNUM/ 429. Simple Numbers ConversionProblem code: TCONNUMEvery integer number n is represented in positional number system of base r by a sequence of digits原创 2007-08-11 01:18:00 · 2398 阅读 · 0 评论 -
分解质因子
分解质因子// 分解质因子// 2007-07-23// By rappizit@yahoo.com.cn#include iostream>#include math.h>using namespace std;bool PrimeFactor (long long n){ int i, j; bool first_factor = true; if (n 2)原创 2007-07-23 15:15:00 · 2323 阅读 · 0 评论 -
产生不重复的随机数
看到这个问题了:随机取 m 个数(在 1 到 n 的范围之内),(m 有没有什么好的算法,时间复杂度和空间复杂度都很好。// 随机取 m 个数(在 1 到 n 的范围之内),(m // 有没有什么好的算法,时间复杂度和空间复杂度都很好。// 方法 1 :生成一系列的随机数,重复的丢弃,利用 STL 的 set 可以方便地插入非重复元素。// 缺点是浪费时间。// 方法 2 :洗牌算法,用一原创 2007-07-23 20:30:00 · 1471 阅读 · 0 评论 -
一道算法面试题 -- 输出所有和为n连续正数序列
在这里看到这个题目:http://community.youkuaiyun.com/Expert/TopicView3.asp?id=5664475有人说是去年百度之星的一道初试题, so ,做做。。// 2007-07-23// By rappizit@yahoo.com.cn// 题目:// 输入一个正数n,输出所有和为n连续正数序列。// 例如输入15,由于1+2+3+4+5=4+5+6=7+8原创 2007-07-23 04:08:00 · 1682 阅读 · 0 评论 -
快速傅立叶变换(FFT)的C++实现与Matlab实验
借佳佳的《复变函数与积分变换》 看了两天,总算弄懂了傅立叶变换是怎么一回事。但是要实现快速傅立叶变换却不需要弄懂那么多东西,看看《算法导论》里面的第 30 章“多项式与快速傅立叶变换”就可以了。不过《算法导论》的介绍和标准的有点小小的不同,就是旋转因子刚好反过来了,不过还是等效的。标准的离散傅立叶 DFT 变换形式如: yk=Σj=0n-1 ajωn-kj = A (ωn-k).(ω原创 2007-07-20 18:35:00 · 33934 阅读 · 20 评论 -
本人写的第一个 brainfuck 程序
刚写好的o(∩_∩)o...哈哈+++++++[>+++++[>++>+>>+>++>++>>+++.[->+.+++.[->+.>[-]>[->]带注释版本%print "IloveU"+++++++[>+++++[>++>+>>+>++>++>>+++. %print I = 73[->+.原创 2008-03-24 16:55:00 · 2369 阅读 · 1 评论