算法
你就是根号四
烟台大学菜鸟学生
中国科学院大学什么都研究不出的研究生
展开
-
区间覆盖问题(贪心)
1)区间完全覆盖问题问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖样例:区间长度8,可选的覆盖线段[2,6],[1,4],[3,6],[3,7],[6,8],[2,4],[3,5]解题过程:1将每一个区间按照左端点递增顺序排列,拍完序后为[1,4],[2,4],[2,6],[3,5转载 2016-02-06 09:19:31 · 786 阅读 · 0 评论 -
qsort()
qsort用法--完整版(解释了cmp)【转】原文地址:http://hi.baidu.com/xuhanqiu/item/99505e41aeef4eae61d7b916用qsort快两年的时候了,却一直没有真正弄懂cmp函数的返回值1,-1,0的函数. 今天在做凸包时,郁闷了....所以请教了snoopy,终于弄懂了cmp返回值的意识:int cmp(const v转载 2016-02-04 10:45:58 · 4866 阅读 · 1 评论 -
计算N!(数组模拟超大数运算)
计算N!Time Limit:1000MS Memory Limit:32768KDescriptionyaojian最近学了一个新的运算法则——阶乘,但他很懒,不想一步一步计算,所以他想让你来帮他编一个程序,能马上得到N的阶乘。Input输入包含若干行数据,每行都有一个整数N(0Output与输入相对应每行输出N的阶乘。转载 2016-02-01 19:13:18 · 2148 阅读 · 0 评论 -
Java程序员修练之道
从2002开始接触Java学会HelloWorld这么经典的程序到如今不知不觉已经十年啦,十年中亲耳听到过不少大牛的演讲,见到过项目中的神人在键盘上运指如飞的编程速度,当时就被震撼了。当编程越来越成体力活,我们还能有自己的思想,还能修炼为Java系统级别的程序员嘛?学习与修炼以下知识与技能,帮你早日达成愿望。 一:Java语言学习对线程(转载 2016-01-21 20:28:38 · 1750 阅读 · 0 评论 -
快速幂取模运算
1.如果b是偶数,我们可以记k = a2 mod c,那么求(k)b/2 mod c就可以了。2.如果b是奇数,我们也可以记k = a2 mod c,那么求((k)b/2 mod c × a ) mod c =((k)b/2 mod c * a) mod c 就可以了。 那么我们可以得到以下算法:算法4:int ans = 1;a = a % c;if(b%转载 2016-08-09 09:28:14 · 378 阅读 · 0 评论 -
数组应用——高精度运算的实验范例
1.高精度数的表示用一个数组表示一个高精度数:将数字按十进制位分离,每位十进制数依次存储到一个数组中int a[100]={0};int n;string s;cin>>s;n=s.length();for(i=0;i<n;i++) a[i]=s[n-i-1]-'0';//数组a从右到左按位存储2.(1)高精度数加和减n1为x的位数,n2为y的位数for(原创 2016-08-14 11:52:06 · 990 阅读 · 0 评论 -
二分查找
使用条件:1.存储在有序数组中 2.有序排列递归法:int bsearchWithoutRecursion(int array[], int low, int high, int target){ while(low <= high) { int mid = (low + high)/2; if (array[mid] > target)原创 2017-01-15 09:26:11 · 370 阅读 · 0 评论 -
随机数
头文件 includesrand(time(0));i=rand()%3;产生0-2的随机数原创 2017-02-19 15:12:28 · 327 阅读 · 0 评论 -
全排列——递归实现
#include void f(int x[], int k){ int i,t; if(k>=9){ for(int i=0;i<9;i++) printf("%d",x[i]); printf("\n"); return; } for(i=k; i<9; i++) { t=x[k]; x[k]=x[i]原创 2017-03-05 13:44:17 · 412 阅读 · 0 评论