c++
文章平均质量分 75
梧桐下的四叶草
这个世界并没有我看上去的那么简单,人各有命,上天注定。有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择。那这旅程的终点在哪儿,也没人知道。你会走到哪儿,会碰到谁。都不一定。
展开
-
C++中的单例模式
转载自:http://blog.csdn.net/hackbuteer1/article/details/7460019 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需转载 2015-12-21 22:47:11 · 351 阅读 · 0 评论 -
C++STL 常用 函数 用法
【大爱】C++STL 常用 函数 用法 学完c++快一年了,感觉很有遗憾,因为一直没有感觉到c++的强大之处,当时最大的感觉就是这个东西的输入输出比C语言要简单好写。 后来我发现了qt,opencv,opengl,原来,c++好玩的狠。 在这些图形库之外,最常用的可能就是STL,这个东西由于当时学c++的时候迷迷糊糊,完全是一头雾水,上学期数据结构之后开始有点儿开窍了,现在把转载 2015-03-15 21:06:28 · 637 阅读 · 0 评论 -
#include<vector> 的用法
#include 的用法C++ vector 用法(#include )标准库Vector类型使用需要的头文件:#include Vector:Vector 是一个类模板。不是一种数据类型。 Vector是一种数据类型。 一、 定义和初始化Vector v1; //默认构造函数v1为空Vector v2(转载 2015-03-15 19:30:13 · 701 阅读 · 0 评论 -
二进制转十进制的简便方法
二进制转换为十进制的简便方法。原来方法:从最后一位开始算,依次列为第0、1、2...位第n位的数(0或1)乘以2的n次方得到的结果相加就是答案例如: 01101011转十进制:第0位:1乘2的0次方=1 1乘2的1次方=2 0乘2的2次方=0 1乘2的3次方=8 0乘2的4次方=0 1乘2的5次方=32转载 2015-02-28 14:15:38 · 852 阅读 · 0 评论 -
有依赖的背包问题
地址:http://blog.csdn.net/mishifangxiangdefeng/article/details/8763361简化的问题 这种背包问题的物品间存在某种“依赖”的关系。也就是说,i依赖于j,表示若选物品i,则必须选物品j。为了简化起见,我们先设没有某个物品既依赖于别的物品,又被别的物品所依赖;另外,没有某件物品同时依赖多件物品。 算法转载 2015-01-26 11:36:20 · 1364 阅读 · 0 评论 -
分组的背包问题
地址:http://blog.csdn.net/mishifangxiangdefeng/article/details/8763357问题 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。这些物品被划分为若干组,每组中的物品互相冲突,最多选一件。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 算法转载 2015-01-26 11:35:21 · 505 阅读 · 0 评论 -
二分查找
#include using namespace std;int bs(int a[] ,int n,int hight,int low ,int mid){while (hight>=low){mid=(hight+low)/2;if(a[mid]==n){return mid;}else if (a[mid]{low=mid+1;}e原创 2015-01-26 11:57:47 · 672 阅读 · 0 评论 -
背包问题问法的变化
地址:http://blog.csdn.net/mishifangxiangdefeng/article/details/8763373以上涉及的各种背包问题都是要求在背包容量(费用)的限制下求可以取到的最大价值,但背包问题还有很多种灵活的问法,在这里值得提一下。但是我认为,只要深入理解了求背包问题最大价值的方法,即使问法变化了,也是不难想出算法的。 例如,求解最多可以放多少件转载 2015-01-26 11:39:07 · 525 阅读 · 0 评论 -
泛化物品
定义 考虑这样一种物品,它并没有固定的费用和价值,而是它的价值随着你分配给它的费用而变化。这就是泛化物品的概念。 更严格的定义之。在背包容量为V的背包问题中,泛化物品是一个定义域为0..V中的整数的函数h,当分配给它的费用为v时,能得到的价值就是h(v)。 这个定义有一点点抽象,另一种理解是一个泛化物品就是一个数组h[0..V],给它费用v,可得到价值h[V]。 一转载 2015-01-26 11:36:46 · 622 阅读 · 0 评论 -
在看到厄尔巴岛之前,我曾经不可一世
题目描述你应该听说过回文吧?所谓回文,简单地说,就是顺着读和反过来读都是一样的。中国历史上还出现过回文诗,其中大名鼎鼎的四首是:春莺啼岸柳弄春晴,柳弄春晴夜月明。 明月夜晴春弄柳,晴春弄柳岸啼莺。 夏 香莲碧水动风凉,水动风凉夏日长。 长日夏凉风动水,凉风动水碧莲香。 秋 秋江楚雁宿沙洲,雁宿沙洲浅水流。 流水浅洲沙宿雁,洲沙宿雁楚江秋。 冬 红炉透炭炙原创 2015-01-01 08:59:28 · 2208 阅读 · 0 评论 -
约瑟夫问题——历史的真相
题目描述你一定听说过约瑟夫问题,或者它的“变种”——猴子选大王等故事吧。但是,你知道约瑟夫问题的历史真相吗?约瑟夫是公元一世纪著名的历史学家。在罗马人占领乔塔帕特后,39 个犹太人与约瑟夫及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人俘虏,于是决定了一个流传千古的自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报到第3人该人就必须自杀,然后再由下一个人重新报数,直到所有人原创 2015-01-01 08:57:31 · 2593 阅读 · 0 评论 -
约瑟夫问题*
问题描述约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样,直到圈内只剩下一只猴子时,这个猴子就是猴王,编程求输入n,m后,输出最后猴王的编号。输入数据每行是用空格分开的两个整数,第一个是 n, 第二个是 m ( 0 0 0输出要求对于每行输入数据(最后一行除外原创 2015-03-04 17:03:43 · 844 阅读 · 0 评论 -
A Famous Music Composer
描述Mr. B is a famous music composer. One of his most famous work was his set of preludes. These 24 pieces span the 24 musical keys (there are musically distinct 12 scale notes, and each may use major原创 2015-03-09 15:39:43 · 764 阅读 · 0 评论 -
#include<algorithm>里的函数
#include里的函数 #include非修改性序列操作(12个)循环对序列中的每个元素执行某操作for_each()查找在序列中找出某个值的第一次出现的位置find()在序列中找出符合某谓词的原创 2015-03-22 19:24:09 · 1263 阅读 · 0 评论 -
用函数做形参
void vis(int r){}void ff(void vis(int r)){}int main(){ ff(vis);//不用写实参在里面 return 0;}原创 2015-11-18 17:53:47 · 405 阅读 · 0 评论 -
继承与派生
/**************************//* 继承与派生 *//**************************/#include#includeusing namespace std;class Date{private: int y, m, d;public: Date() { cout << "Date构造函原创 2015-06-11 09:41:54 · 343 阅读 · 0 评论 -
Oulipo
OulipoTime Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uSubmit StatusDescriptionThe French author Georges Perec (1936–1982) once wrote a book, La dispar原创 2015-04-25 15:12:06 · 747 阅读 · 0 评论 -
c++重载运算符@
c++重载运算符@ 刚刚将c++的重载运算符学完,虽然也不是挺会,但也能有小小心得吧! 重载运算符有友元和静态两种方式使用吧! 友元: class FeetInches{private: int feet; // 英尺 int inch; // 英寸public: FeetInches(int f = 0, int i = 0)//构造函数 {原创 2015-05-29 22:15:02 · 816 阅读 · 0 评论 -
c++函数符重载
/********************************//* c++函数符重载 *//********************************/#includeusing namespace std;class FeetInches{private: int feet; // 英尺 int i原创 2015-05-25 15:44:06 · 626 阅读 · 0 评论 -
勤奋的计算机系学生
题目描述计算机系的同学从大一就开始学习程序设计语言了。初学者总是容易写出括号不匹配的程序。至今你仍然清楚地记得,那天上机的时候你的程序编译出错,虽然你使尽了吃奶的力气也没有把错误逮着。你实在没有办法只得举手向老师请教。结果老师走过来一看,板着脸,指着屏幕,很不高兴地冲着你说:“括号!括号!括号没有匹配!”自那以后,你痛定思痛决定写一个程序,帮助分析程序的括号是否出错,以免再出洋相。为了简化原创 2015-01-01 09:01:35 · 1730 阅读 · 0 评论 -
C++ new失败的处理
C++ new失败的处理 转载 总体分两个部分,一个是:http://hi.baidu.com/bellgrade/item/179ff5374b74eef6e7bb7aa6 写的比较容易理解。另一个是 http://book.51cto.com/art/201202/317767.htm 有具体代码说明,更具体。 ——————————————————————————————————原创 2015-05-04 16:36:04 · 585 阅读 · 0 评论 -
Seek the Name, Seek the Fame
Seek the Name, Seek the FameTime Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64uDescriptionThe little cat is so famous, that many couples tramp over hill and da原创 2015-04-25 17:08:06 · 482 阅读 · 0 评论 -
蛇形矩阵
题目描述蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。输入输入一个正整数N。(N不大于20)输出输出一个N行的蛇形矩阵。矩阵三角中同一行的数字用一个空格分开。样例输入5样例输出1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 #include using namespace原创 2015-01-01 08:54:38 · 1200 阅读 · 0 评论 -
精挑细选
题目描述小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根钢管。这听起来不算什么,但是这根钢管的要求可真是让他犯难了,要求如下: 1、这根钢管一定要是仓库中最长的; 2、这根钢管一定要是最长的钢管中最细的; 3、这根钢管一定要是符合前两条的钢管中编码最大的(每根钢管都有一个互不相同的编码,越大表示生产日期越近)。 相关的资料到是有,可是,手工从几百份钢管材料中选出符合要求的那原创 2014-12-20 13:06:37 · 1120 阅读 · 0 评论 -
大整数乘法
看了很多普通做法的大整数乘法,很多都很复杂,我也初写了一次。(应该比较简单)题目描述求两个不超过200位的非负整数的积。输入第一行为一个整数t,表示有t组数据。接下来有2t行,每两行表示一组数据。 对于一组数据,每行是一个不超过200位的非负整数,没有多余的前导0。输出对于每组数据,输出一行,即相乘后的结果。结果里不能有多余的前导0,即如果结果是原创 2014-12-19 11:28:22 · 902 阅读 · 0 评论 -
贪吃蛇,c,c++
学了c++半个学期了,自己动手做了一个游戏。(有什么不好的地方,欢迎指出)#include #include #include #include #include #include #include#include # pragma comment (lib, "Winmm.lib")//导入Winmm.lib库 using namespace std; int n原创 2015-01-01 08:47:45 · 1594 阅读 · 0 评论 -
数根
#include using namespace std;int fun(int t){ int k=0; while (t!=0) { k+=t%10; t=t/10; } return k;}int main(){ int n,i,sum=0; char a[1010]; cin >> n; while (n--) { sum=0; cin >>原创 2014-12-24 13:47:48 · 851 阅读 · 0 评论 -
链表2
参考教科书上的(初学,有更好的方法请指导)#include using namespace std;int main(){ struct node { int num; node *p; }; node *p1,*p2,*head; int a; head=NULL; cin >> a; while(a!=-1) { p1= new node; p1->n原创 2014-12-24 13:38:56 · 427 阅读 · 0 评论 -
链表
#include using namespace std;int main(){ struct node { int num; node *p; }; int n,t; node *head,*p1,*p2; head = new node; p1=head; cin >> n; head->p=NULL; for (int i=0原创 2014-12-24 13:30:25 · 469 阅读 · 0 评论 -
空心三角形
时间限制: 1 Sec 内存限制: 128 MB提交: 57 解决: 14 [提交][状态][讨论版]题目描述输入正整数n,输出边长为n的空心三角形。输入一个正整数n。(3 输出边长为n的空心三角形。注意:三角形最后一行最左边的*前面不要有空格。样例输入3样例输出 * * ******#include using names原创 2014-12-20 13:41:21 · 1039 阅读 · 0 评论 -
求一个实数的平方根
输入实数x(x>0),求x的正平方根,结果保留五位小数。要求不用sqrt实现。 提示:设a为x的正平方根,程序的目标是求a的值,使得a*a=x。a的取值范围在[0, x]内。由于a2在a>0时是单调递增函数,所以可以重复以下步骤缩小a的取值范围:(假设x = 2)(1) a = (0 + 2) / 2=1,因为a*a = 1*1 ,所以a的取值范围在[1, 2]内。原创 2014-12-20 13:49:53 · 1439 阅读 · 0 评论 -
他们多少岁
张三、李四、王五、刘六的年龄成一等差数列,他们四人的年龄相加是26,相乘是880。求他们的年龄。提示:设张三的年龄是a;四人的年龄构成等差数列,设公差为d。于是李四、王五、刘六的年龄分别是a+d、a+2*d、 a+3*d。0,枚举a和d的取值可能,#include using namespace std;int main(){ int a,d; for(a=0;a<=26原创 2014-12-20 13:48:48 · 3290 阅读 · 0 评论 -
石头-剪刀-布游戏
#include #include #include using namespace std;int main(){ cout **************" << endl; cout " << endl; cout @@@@@@@@@" << endl; int n, j = 0, k = 0;loop:cin >> n; cout << "请输入你的选择(0,1,2)"原创 2014-12-20 13:45:39 · 686 阅读 · 0 评论 -
最小公倍数 Plus
题目描述求n(n 输入输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。输出为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。样例输入2 4 63 2 5 7样例输出1270#include using namespace std;int main原创 2014-12-20 13:00:36 · 2616 阅读 · 0 评论 -
STL系列之二 stack栈
原文地址:http://blog.csdn.net/morewindows/article/details/6950881栈(statck)这种数据结构在计算机中是相当出名的。栈中的数据是先进后出的(First In Last Out, FILO)。栈只有一个出口,允许新增元素(只能在栈顶上增加)、移出元素(只能移出栈顶元素)、取得栈顶元素等操作。在STL中,栈是以别的容器作为底部结构转载 2015-01-28 11:08:45 · 487 阅读 · 0 评论 -
进制转换
1173: 进制转换时间限制: 1 Sec 内存限制: 64 MB提交: 112 解决: 37[提交][状态][讨论版]题目描述编一程序实现两种不同进制之间的数据转换。输入输入数据共有三行,第一行是一个正整数,表示需要转换的数的进制n(2 ≤ n ≤ 16),第二行是一个n进制数,若n > 10则用大写字母A~F表示数码10~15,并且该n进制数对应原创 2015-01-08 13:45:30 · 1185 阅读 · 0 评论 -
表上作业法的函数
#include #include #include /**只用修改这里***********************************/#define M 6#define N 8double tariff[M][N]={//运费6, 2, 6, 7, 4, 2, 5, 9,4, 9, 5, 3, 8, 5, 8, 2,5, 2, 1, 9, 7, 4, 3, 3,7原创 2015-02-02 10:19:52 · 2024 阅读 · 2 评论 -
简单0-1背包问题
题目描述有一个背包能装的重量maxw(正整数,0≤maxw≤20000),同时有n件物品(0≤n≤100),每件物品有一个重量wi(正整数)和一个价值pi(正整数)。要求从这n件物品中任取若干件装入背包内,使背包的物品价值最大。输入第1行:背包最大载重maxv,物品总数n 第2行到第n+1行:每个物品的重量和价值输出一个数字即背包内物品最大价值样原创 2015-02-02 20:59:59 · 1304 阅读 · 0 评论 -
最长上升子序列 POJ2533
DescriptionA numeric sequence of ai is ordered if a1 a2 < ... aN. Let the subsequence of the given numeric sequence (a1, a2, ..., aN) be any sequence (ai1, ai2, ..., aiK), where 1 i1 i2 <原创 2015-02-02 09:54:08 · 851 阅读 · 0 评论 -
map容器
Map容器,顾名思义,地图,是用来进行索引的一个容器。在定义Map容器之前,c++首先定义了一个pair类型,这个类型有两个参数pair。 pair类型的对象通过点号(.)访问其成员(都是公有成员)first与second。 pair类型可以通过make_pair()函数来进行初始化。下面定义map类型的对象 map objmap;//这个语句定义了一个空的map对象原创 2015-02-07 13:14:36 · 734 阅读 · 0 评论