算法
文章平均质量分 71
技能CD中请稍候
以为有了翅膀,就会变成一只鸟,以为变成鸟之后,就可以拥有自由, 而今,拥有了期盼的翅膀,却只能在小小的空间里,飞翔,遗失了自由,原来自己还是搞不懂,是想要翅膀,飞翔,或是自由,还是, 只要一种追求飞翔的感觉。
展开
-
快速幂运算的应用
快速幂取余的方法,所得返回值为 a^b % pint f(int a,int b,int p){ int temp = 1; while(b) { if(b & 0x01) { temp = (temp * (a%p)) % p; } a = ( (a%p) * (a%p) )原创 2012-03-29 14:08:19 · 780 阅读 · 0 评论 -
猥琐输入流。
猥琐输入流。static inline bool get(int &v){ int s = 1, c; while(!isdigit(c = getchar())&&c!='-') { if(c == EOF) break ; } if(c == EOF) return 0; if(c=='-') s原创 2012-03-31 10:20:15 · 559 阅读 · 0 评论 -
计算几何初涉 例题:Pipe
问题:黑书P359页。有一个宽度为1的折线管道,上面顶点为(x0,y0).......(xn,yn),下面各顶点为(x0,y0-1)......(xn,yn-1),假设管壁不透明,不反射,光线从最左边的(x0,y0) (x0,y0-1)之间射入,向四面八方传播,问光线最远能射到哪里或着能穿透整个管道。1.最优光线必须是擦到一个上顶点一个下顶点。2.枚举算法,任取一个上顶点和一个下顶点,原创 2012-03-31 20:57:31 · 778 阅读 · 0 评论 -
N个整数 两两异或求和
问题:有n个正整数,将每个整数两两异或,求出最后所有异或结果的和。n 才疏学浅,参考了别人的思路。将每个整数按位来考虑。重点记录每一位的异或后1的个数。要注意结果的范围。#include #include using namespace std;//每个整数最多不会超过20位#define K 20int main(){ int n,x; int原创 2012-03-18 15:14:05 · 6561 阅读 · 0 评论 -
排序算法
部分排序算法的练习。#include #include using namespace std;#define N 100int elem[N];//待排序数组int n;//实际元素个数//Inputvoid Input(){ cin >> n; for( int i = 0 ; i < n ; i++ ) { cin >> el原创 2012-03-18 16:24:56 · 386 阅读 · 0 评论 -
找出所缺的整数
题目:数组A中包含n-1个[0,n-1]内的不同整数,n个数中只有一个数不在所给的数组中。设计一个找到这个数的O(n)时间的算法。除了数组A自身以外,只能利用O(1)的额外空间。与之相似的另一个题目见《算法导论》思考题4-2:问题同上,但在这里,不能由一个单一操作来访问A中的一个完整整数,因为A中整数是以二进制表示的。我们所能用的唯一操作就是“取A[i]的第j位”,这个操作所花时间为常数。题目转载 2012-03-18 16:29:33 · 615 阅读 · 0 评论