清泉逐流

做着努力,等待幸福到来
» 我的笔记

Poj1004

时间 : 2014-09-09 20:10 分类 : C/C++

#include <string> #include <iostream> using namespace std; int main(int argc, char* argv[]) { double salary; double total = 0; while( cin >> salary){ total += salary; } cout << '$' << total / 12 << endl; return 0; }

查看全文 »

Poj1003

时间 : 2014-09-09 20:10 分类 : C/C++

#include <string> #include <iostream> using namespace std; int main(int argc, char* argv[]) { double length; while(cin >> length){ if(length>0){ double calc_len = 0; int count = 0; while( calc_len < length){ count ++; calc_len += 1.0F / (count+1); } cout << count << " card(s)" << endl; }

查看全文 »

Poj1002

时间 : 2014-09-09 20:09 分类 : C/C++

#include <string> #include <iostream> #include <map> using namespace std; bool parse_phone(string &phone_str, int &result) { int ret = 0; int valid_num = 0; result = 0; for(int i=0; i<phone_str.size(); i++){ if(valid_num>7){ result = 0; return false; } switch(phone_str.at(i)){ case '0': result *= 10; valid_num++;

eak; case '1':

查看全文 »

卡兰特数

时间 : 2014-09-06 15:32 分类 : 算法

Eugene_charles_catalan卡特兰(1814~1894)比利时数学家

先由一个问题引出卡特兰数。

查看全文 »

Poj1001

时间 : 2014-09-05 21:05 分类 : C/C++

Code

#include <iostream> #include <vector> #include <string> #include <fstream> #define N 10 using namespace std; void vector_multi(vector<int> &numbers1, vector<int> &numbers2, vector<int> &result) { int total = numbers1.size()+numbers2.size(); result.resize(total); for(int i=0; i<total; i++){ result[i]=0; } for(int i=0; i<numbers1.size(); i++){ for(int j=0; j<numbers2.size(); j++){ result[i+j] +=

查看全文 »

几个排序算法的汇总

时间 : 2014-08-27 23:10 分类 : 算法

直接插入排序

Shell排序

直接选择排序

堆排序

冒泡排序

快速排序

归并排序

基数排序

查看全文 »

拓扑排序算法

时间 : 2014-08-18 20:35 分类 : 算法

所谓拓扑排序,指的是在一个有向的无环图中,对图中所有的节点进行排序。

在游戏画面中,不同人物场景的重叠关系,就涉及到绘图顺序。场景中每个对象都可以想象成为图中的一个节点,其层叠顺序就是一个有序的无环图结构。

下面的图,就是一个有序的无环图。

查看全文 »

递归函数inline展开

时间 : 2014-08-05 22:13 分类 : C/C++

如果我们将函数声明为inline,并且递归调用,会如何呢?

函数如下:

inline int recusive( int x ) { if( x == 0 ){ return 1; }else{

查看全文 »

Non-comparison sorts: Radix sort

时间 : 2014-08-05 22:11 分类 : 算法

也就是基数排序,分为LSB和MSB排序两种方法;

以前,接触到的排序基本上都是通过比较数值的大小,来进行排序的。

今天看到了一种新基数排序,是按照“分配”和“收集”来进行排序。

数组序列:

23 54 43 53 42 33 87 65 20 25

先按照个位数进行分配:

0 | 20

查看全文 »

幂运算

时间 : 2014-08-05 22:09 分类 : 算法

通常情况下,我们在进行幂运算的时候,可以进行这样的定义函数。

long int pow( long int x, unsigned int n ) { long int ret = 1; unsigned int i; for ( i=0; i<n; i++ ){ ret *= x; } return x; }

这个函数看起来很简单,但是时间复杂度为O(N)。

查看全文 »
» 笔记大类