摘要: 好久没有写博客了,最近一段时间一直在看hadoop和storm,以及整理自己的模版,打算再过至少半个月的时间开写。加油,pushing-my-way!!! 阅读全文
posted @ 2012-12-15 20:28 pushing my way 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题意:这个题以前见过,但是从没有用代码实现过,题意就是,给出两个杯子的容量,求是否可以通过fill,drop,pour,一系列操作,最后得出某一个容量的液体,如果可以则输出最少步数和操作过程,如果不能输出impossible分析:这题用bfs,考虑6钟转化过程,这个代码写的有点长。在输出操作过程的时候要递归。然后就是数据结构的使用了,1A了,感觉不错。代码:View Code 1 #include <iostream> 2 #include <stdio.h> 3 #include <cstring> 4 #include <queue> 5 u 阅读全文
posted @ 2012-09-26 10:27 pushing my way 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 差不多一个月没有好好学习,学校的事情差不多也定了,从明天开始奋起直追,要不然差距就越来越大了。大牛都去清华北大了,还是怨自己没有努力吧。希望能用100天实现自己的初级梦想。晚安了,明天就要忙碌起来。 阅读全文
posted @ 2012-09-25 22:54 pushing my way 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 转自http://www.kuqin.com/cpluspluslib/20071231/3265.htmlMap是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就存在 阅读全文
posted @ 2012-09-12 10:46 pushing my way 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 1.函数:gets(字符指针)2.头文件:stdio.h(c中),c++不需包含此头文件3.原型:char*gets(char*buffer);4.功能:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。读取的换行符被转换为null值,做为字符数组的最后一个字符,来结束字符串。5.返回值:读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。6.注意:本函数可以无限读取, 阅读全文
posted @ 2012-09-10 08:10 pushing my way 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 转自http://www.cnblogs.com/qytan36/archive/2010/09/27/1836569.html在C中,默认的基础数据类型均为signed,现在我们以char为例,说明(signed) char与unsigned char之间的区别首先在内存中,char与unsigned char没有什么不同,都是一个字节,唯一的区别是,char的最高位为符号位,因此char能表示-128~127, unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字。在实际使用过程种有什么区别呢?主要是符号位, 阅读全文
posted @ 2012-09-05 10:27 pushing my way 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题意:有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币交换B币时,A到B的汇率是29.75,手续费是0.39,那么你可以得到(100 - 0.39) * 29.75 = 2963.3975 B币。问s币的金额经过交换最终得到的s币金额数能否增加。分析:这个题跟2240基本相似。也是利用bellman或者spfa进行松弛。细节也有不同,这个题指定了起始点。代码:View Code 1 #include <iostream> 2 #include <stdio.h> 3 #include <cstring> 4 using namespace std 阅读全文
posted @ 2012-08-28 19:17 pushing my way 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一些不同类型的货币和货币之间兑换的比例,求能否实现从一种硬币开始到自身结束后,实现盈利分析:1.一开始遇到这个题的时候,我首先想到的是dfs,在遍历的过程中如果遇到环的话进行判断,得出结果。但是这样考虑是不正确的。比如:A 1.0 BB 1.0 CB 5.0 DC 0.1 DD 1.0 Adfs时,如果先搜ABCDA是不成功的,如果这时标记搜过的D为舍弃,则ABDA就搜不到了。2.放弃dfs后,发现这里的思路跟寻找负权回路很相似,寻找负权回路是因为在执行过程中可以不断更新,而这里如果存在盈利的话,也可以不断更新。使用bellman-ford,必须保证图中每个点为起始点都没有回路。而使 阅读全文
posted @ 2012-08-28 17:43 pushing my way 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 题意:给一串数列,然后求其中的各个范围内的第k大数分析:划分树,具体分析见划分树算法。跟之前做过2104相比,这道题好象没有重复的元素。代码:View Code 1 #include <iostream> 2 #include <stdio.h> 3 #include <cstring> 4 #include <algorithm> 5 using namespace std; 6 //14256K 1813MS 7 //划分树 8 const int maxnum=100001; 9 struct tree 10 { 11 int array[ 阅读全文
posted @ 2012-08-28 17:03 pushing my way 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 题意:令到原队列的最少士兵出列后,使得新队列任意一个士兵都能看到左边或者右边的无穷远处。分析:题意一开始没看明白,A soldier see an extremity if there isn't any soldiers with a higher or equal height than his height between him and that extremity. 可知求的是递增序列,然后形成的序列应该是这样的:使剩下的队列满足a1 < a2 < a3 ... < a(i ) <=> a(i+1) > a(i+2) > .. a(n 阅读全文
posted @ 2012-08-27 11:54 pushing my way 阅读(400) 评论(0) 推荐(0) 编辑