- 博客(108)
- 资源 (2)
- 收藏
- 关注
转载 POJ 分类(来自网上)
一.基本算法:(1)枚举. (poj1753,poj2965)(2008-10-27Done 位运算+宽搜)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:(1)图的深度优先遍历和广度
2013-07-27 12:10:43 702
原创 安装SQL Server2012与出现的一些问题
(发的是evernote的共享公共链接。)关于安装完SQL Server2012后很多人身份验证的时候提示出错的问题 http://url.cn/N6SJIz之前发的两篇文:(安装SQL2012)http://url.cn/NwmAQd(修改登录模式)http://url.cn/QRD00N
2013-10-15 18:01:13 2350
原创 poj 1488 TEX Quotes(简单的串)
(⊙o⊙)…,心情不好,过来写水题…题意:1.第一个“ 替换成 `` 2.第二个“ 替换成‘’(注意第二个是两个单引号) 3.注意,这是一段话,前面两点在这整段话中是适用到底的,但是,不是要求一下输入完所有行,有一行就输出一行。 然后输入的话,用一个getline(cin,str); 因为要输入空格。然后,剩下的就非常水了,读题很
2013-06-18 23:14:14 1028
原创 用2个数字输出你想要的汉字
之所以想写这东西。主要是在贴吧上看到有人在问。其实好水,好没技术含量。源头就是那个什么代码明信片,就是下面这货。。唯一承认的是,作者卖的一手好萌~贴吧居然还真有人耐心把这段代码给耐心敲出来了……吐血#include int main(){ printf ("%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C%C
2013-06-18 21:38:46 914
原创 #随机数#产生1~n之间的随机数
经常用的就是一个rand函数~然后srand获得种子。暂时不想太深入的研究,给个最常用的的东西,就ok了~!用srand和rand获得在1~n之间的数据。#include#includeusing namespace std;int main(){ int n = 8; srand((int)time(0)); int num = 1+ ra
2013-06-15 16:12:16 1268
原创 #分支限界法#最小机器重量设计问题(优先队列)
(⊙o⊙)…,一部分注释的代码直接被吞了~汗~坑~有空再折腾仅是学习算法时使用一下~(个人感觉不是个多好用的算法,毕竟写起来就很麻烦)题目:设某一机器由n个部件组成,每一种部件都可以从m个不同的供应商处购得。设w[i][j]是从供应商j处购得的部件i的重量,c[i][j]是相应的价格,给出总价格不超过d的最小重量机器设计。算法设计:对于给定的机器部件重量和机器部件价格,计算
2013-06-13 15:40:54 11197
转载 STL的神器,优先队列
在STL里有这个priority_queue,实现优先队列的结构。在优先队列中,优先级高的元素先出队列。现在在这里说说用法吧先看看语法:Syntax:In their implementation in the C++ Standard Template Library,priority queues take three template parameters:12 temp
2013-06-13 15:40:50 700
原创 测试时间的一个模板
LARGE_INTEGER BegainTime ; LARGE_INTEGER EndTime; LARGE_INTEGER Frequency; QueryPerformanceFrequency(&Frequency); QueryPerformanceCounter(&BegainTime) ; //要测试的代码放在这里 DP();
2013-06-13 15:40:47 548
原创 简单DP之二维背包问题
3-4 二维0-1背包 给定n种物品和一背包。物品i的重量是wi,体积是bi,其价值为vi,背包的容量为C,容积为D。问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大?在选择装入背包的物品时,对每种物品i只有两种选择,即装入背包或者不装入背包。不能将物品i装入背包多次,也不能只装入部分的物品i。试设计一个解此问题的动态规划算法,并分析算法的计算复杂性。 和0-1
2013-06-13 15:40:45 4761
原创 DP之一般背包问题
(⊙o⊙)…,不打算发的,因为思路就是将多重背包转成0-1背包解决。比较水。就是0-1背包的代码简化了不少~按照课本讲的代码方式去写确实很坑……//x[i]是物品i的个数,a[i],c[i]依次为质量,价值,容量为n然后这次处理和上一个的区别就是dp[i][j]代表的意义略有不同,汗,其实也是一个意思此处dp[i][j]代表,容量为j,物品从1->i物品获得的最优解for(i
2013-06-13 15:40:43 578
原创 简单DP之最少硬币问题(多重背包问…
最少硬币问题问题描述:设有n种不同面值的硬币,各硬币的面值存在于数组T[1:n]中。现要用这些面值的硬币来找钱。可以使用的各种面值的硬币个数存于数组Coins[1:n]中。对任意钱数0£m£20001,设计一个最少硬币找钱m的方法。算法设计:对于给定的1£n£10 ,硬币面值数组T和可以使用的各种面值的硬币数组Coins,以及钱数m, 0£m£20001,计算找钱m的最少硬币数。数据输
2013-06-13 15:40:41 902
原创 0-1背包问题
问题描述: 给了n种物品和一个背包。物品的重量的W[i](weight),价V[i](value),背包容量为c(capacity),问应该如何选择放入背包中的物品,使得装入背包的物品总价值最大。每个物品只有两种可能的选择,放或者不放,所以称为0-1背包问题,即要找到一个数组(x1,x2,……,Xn),x[i]∈{0,1},不放就是0,放入就是1要求就是, ∑x[i]*w[i]<
2013-06-13 15:40:39 607
原创 DP之简单的求最大字段和问题
用DP的方式处理最大字段和问题,显然是很有效率的O(n)的时间复制度设b[j]:第1到第j个数中,从第i个数一直加到第j个数的和的最大值。就是从a[i]+a[i+1]+…+a[j]连续相加a: -2 11 -4 13 -5 -2b= -2 11 7 20 15 13如果b(代码中没处理,需要的话开始判定一下就行)然后,最大字段和的其实就是b中最大的数据求这个序列的话
2013-06-13 15:40:37 609
原创 DP之最基本的求最长公共子序列
最近脑抽,又写了遍求最长公共子序列的问题…… 0 i=0,j=0c[i][j]= c[i-1][j-1]+1 x[i]=y[j] MAX(c[i][j-1],c[i-1][j]} x[i]≠y[j]x[i]代表第一个序列:x[1]到x[i]y[j]代表第二个序列: y[j]到y[j]c[i][
2013-06-13 15:40:35 494
原创 O(n)时间求最接近中位数的k个数
给出一个O(n)时间的算法,在给定一个有n个不同数字的集合S以及一个正整数k分析:1.select函数求中位数o(n),线性时间选择2.求出所有数与中位数的差,然后存放到另外一个数组中3.用select函数求出2中数组第k小的数。线性时间选择4.2中数组中凡是比k小的数,全部输出对应初始数组的位置的数。就ok了C++语言:#include#include
2013-06-13 15:40:33 2045 1
原创 用g++编写一个hello,world
咳咳……好久不写博文,因为用惯了evernote。本着共享的精神,还是发点什么吧……惭愧,惭愧……先小结一下1.ubuntu12.10下要安装一下vim,vim和vi是不同的,vim兼容vi,更优秀,不会像vi中删除移动到其他位置都非常容易出问题。可以查一下vim --version检查2.ubuntu12.10下要安装g++,linux 系统默认是只有gcc而没有g+
2013-06-13 15:40:30 1188
原创 (12.18)无向图的深度搜索(邻接矩阵)
深度搜索:DFS,就是从其中一个顶点v开始,,访问顶点,然后,从v开始往一个方向搜索,直到遇到的下一个搜索目标是已经搜索过的,然后返回上一个结点,判断有没有结点是没有被搜索过的,若没有,继续返回上一层,直到所有的都被访问完。先用邻接矩阵写一遍贴下代码:#includeusingnamespacestd;constintvertex_max = 20; //初始设定
2013-06-13 15:40:28 775
原创 (12.16)图的邻接表表示
数组与链表结合的存储方法称为邻接表以无向图为例举个小例子:无向图的邻接表结构贴下自己的代码:#includeusingnamespacestd;constintMAXVEX = 20; //设最大的结点个数为20structEdgeNode //建立边表结点{ intadjvex; //邻接序号 intweight; //
2013-06-13 15:40:26 636
原创 (12.15)图的邻接矩阵实现
汗,发现自己不写博客就学不好数据结构,,算了,,继续坚持写博!无向网为例 Wij 如果∈E或者∈Earc[i][j]= 0 i = j ∞ 其他举个例子:从每一行都能看到每个顶点是和哪几个其他的顶点连接的。自己写的一段小代码:#includeusingnamespacestd;constin
2013-06-13 15:40:24 684
原创 poj 2255 Tree Recovery(做为二叉树的练笔挺不错的)
题意:给出一个二叉树的前序和中序,求出这个二叉树的后序分析:其实不难,充分用好递归思想,发现递归真是美好。 前序可以很清晰的知道根结点。然后再在中序中的左右两边分别就是左子树和右子树。 运用递归可以很容易的完成。重点就在于几个STL函数的使用。find函数和substr函数find函数:返回的是查找的数据的位置,计数也是从0开始substr函数:求的是起点为
2013-06-13 15:40:22 657
转载 (转)计算机系学生大学四年应该这样过
1.极端的社会舆论每每看到大学生就业报告里提到计算机系学生失业人数最多时,我就想mn,什么原因导致了这种现象的发生,在中国软件还处于比较初级的阶段时,市场对软件人才的需求应该每年在大幅的递增,可是大学里培养出来的计算机科班人才质量却每况愈下,甚至还不如一个软件培训机构两三个月训练出来的人好用,为什么?想想现在的计算机科班毕业生的水平吧,大学四年下来,90%的学生写的代码没有超过2000行,不L
2013-06-13 15:40:20 1869 1
原创 1.1排序 -1001 谁是中间的那个
题意:一堆牛,产奶量不同,要求输出产奶量位于中间的那头牛的产奶量分析:(⊙o⊙)…,足够水……代码:#include#includeusingnamespacestd;intmain(){ int n; while(cin>>n) { int*a=new int[n]; for(inti=0;in;i++)
2013-06-13 15:40:18 783
原创 POJ 1363 Rails (栈的基本应用)
题意:一组数据(1,2,3,4,……n……),要进栈,要求判断题目中给的数据是不是出栈的数据的可能情况。分析: 首先注意一下输入输出问题,n个数字的测试数据,n为0时,结束,然后输入可能的出栈数据,如果第一个数据为0,结束这次循环,重新输入有多少个数字的测试数据。 其次,就是根据栈的一些知识来处理这一题了。栈中比栈顶元素小的数据一定要按逆序排列,才是正确的。模拟一下压栈出栈过程就很
2013-06-13 15:40:16 490
原创 (11.1)queue类容器 初学
queue 类容器--链队列 queue 容器的常用操作有queues; //建立空队列push(num); //将一个数据压入队列front(); //返回队首元素back (); //返回队尾元素empty (); //判断队列是否为空pop();
2013-06-13 15:40:13 466
原创 (11.1)stack类容器 初学
stack 类容器----链栈stack容器中的常用操作有:stacks; //构造空栈push(num); //将元素压入栈中pop(); //删除栈顶元素,无返回top(); //返回栈顶元素size(); //返回栈的大小empty();
2013-06-13 15:40:11 462
原创 POJ 2232 New Stone-Forfex-Cloth Game(水题。必须读懂题,找个规律而已)
题意:一堆小朋友坐成一个圈,玩剪刀石头布游戏。游戏规则:1.小朋友的手势不能改变,随机选取小朋友与逆时针方向的人比较。2.比较规则:剪刀石头布的游戏规则,输的那个人跳出圈子,直到只剩余一人,游戏结束。注意:遇到两个人出的手势一样的情况的话,别选中的那个人胜出,被比较的人跳出圈子。3.计算一下,这样的随机的抽取的情况,最后一个胜出的人有几种可能性。分析:这题的坑挖的可是很深的,主要
2013-06-13 15:40:09 921
原创 (10.28)递归建立一个二叉树,交换左右节点,并遍历
(1)构建一颗二叉树;(2) 实现二叉树中所有结点的左、右子树相互交换。二叉树的存储结构:先序遍历二叉树的操作: 若不为空,则(root,lchild,rchild)中序遍历若不为空,则(lchild,root,rchild)后序遍历若不为空,则(lchild,rchild,root)代码: BiTnode_tree.h#in
2013-06-13 15:40:06 669
原创 (10.19)好文--耐心做好自己
看到自己的同学或者其他熟人干得风生水起,就有些心不定了。就像长跑比赛,一开始大家都疯狂跑出去就你一个人慢吞吞的,就算你不想拿名次心里也会觉得别扭。但如果总是被外界环境或者别人的意思所左右的话,你会疲于奔命的。如果你想好了你想要的,就要心定,安心做好自己身边的事情。你就是每天打牌,只要能打成个高手,未必不能在这个社会安身立命,做什么并没有太大关系,关键是做好什么。深有触动!做什么不是问题,关键是
2013-06-13 15:40:04 449
原创 (10.19)好文--要有足够的亮剑资本
有的大学生经常会跟我说,我毕业之后一定要找到一份月薪多少多少的工作,争取做到什么什么职位。这时候我总是会耐心听完他们的“远大蓝图”,然后问一句:“你凭什么达到你的目标?你的资本是什么?”然后他就会哑口无言。 我相信读过这篇文章的人也会和这位大学生一样,有着自己的伟大抱负,但是大学四年下来,你有没有想到,要实现这些目标,你的资本是什么?对于很多已经身在职场的朋友而言,你晋升的资本又是什么?
2013-06-13 15:40:02 1030
原创 (10.19)C++实现链队列的基础操作
注:像书中一样,用到了头结点,作用就是像所有的单链表一样:插入删除首元素时不用对其进行特殊处理。 还需要稍稍注意的东西就是要注意一下空间的分配,和队列为空的情况的处理。都不算难。空队列:就是头指针和尾指针指向同一个空间。插入元素,从队尾进,处理一下队尾,然后,若队列为空,注意进入第一个元素时的情况就ok,都很简单。删除元素:就从队头删除,由于加入了头结点,所以比较方便对于队头的处理。
2013-06-13 15:40:00 1358
原创 (10.15)[转]C++学习(队列操作,入队,出队)
#includeusing namespace std;struct list{ int data; list *next;};class queue{ list *ptrf,*ptrb; //定义对首,队尾的指针public: queue() { ptrf=ptrb=NULL; //队列为空 } void enqueue(int); int deque
2013-06-13 15:39:58 810
原创 (10.15)静态实现顺序栈的基本操…
编写一个类,实现简单的栈。栈中有以下操作: 元素入栈、读栈顶元素,元素出栈,判断栈空,判断栈满。 栈的数据由大小为10的数组存放。 在主函数中测试栈的应用,完成如下操作: 将10、12、14依次入栈,读出栈顶元素,并打印。出栈,读出并打印栈顶元素。stack.h#includeusingnamespacestd;classstack{private: int
2013-06-13 15:39:56 831
原创 (10.15)C/C++内存分配方式…
内存分配方式内存分配方式有三种:[1] 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, static 变量。[2] 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中 ,效率很高,但是分配的内存容量有限。[3] 从堆上分配,亦称动态内
2013-06-13 15:39:54 580
原创 (10.14)typedef与结构结合使用问题
同样因为学了数据结构,遇到了一堆堆C中结构体的typedef,总结一下用法。 typedef与结构结合使用typedef struct tagMyStruct{ int iNum; long lLength;} MyStruct; 这语句实际上完成两个操作:1) 定义一个新的结构类型struct tagMyStruct{ int iNum; long
2013-06-13 15:39:52 489
原创 (10.14)4学习C版数据结构中熟悉malloc函数与C++中的new函数
最近学了C语言版的数据结构,一堆堆都是动态空间的分配问题,丫的,一堆堆的malloc函数,分配失败又如何如何的……⊙﹏⊙b汗,真是相当麻烦,自己还是喜欢用C++的new和delete,于是毅然决定稍稍把之前学过的C++内容稍稍的总结一下。 C语言是利用malloc函数和free这两个库函数完成动态存储分配和释放存储空间的功能的。 函数原型为:void *malloc(size_
2013-06-13 15:39:49 954
原创 Eclipse的相关使用功能
1.如何设置字体的大小,如下图wiondow--preferences--general--appearance--colors andfonts--java--java editor text font 选择edit编辑一下就ok
2013-06-13 15:39:45 502
原创 JAVA学习1(开始设置)
java开始设置1.安装 jre-7u7-windows-i586.exe, 分两个文件,一个是编译器,一个是解释器。编译器:javac.exe解释器:java.exe 2.修改path路径,方便在命令行栏直接输入 控制面板 --- 系统 ---高级系统设置 --高级 -- 环境变量 由于我安装的地址是D:\Java\jdk170\bin所以把这个
2013-06-13 15:39:43 445
原创 C/C++编程必备
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。 1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段 2、h
2013-06-13 15:39:41 560
原创 c/c++资源(源码、开发工具、开发库)
开发工具:VIM骨灰级玩家专属emacs 骨灰级玩家专属code::blocks 入门级推荐codelite 入门级首选eclipse+CDT如果你经常用eclipse就直接装个cdt的插件吧netbeans习惯netbeans的首选anjuta gtk首选KDeveloper 曾经的Linux下经典开发工具Xcode Mac系开发首选QtCreator Qt默认的开发
2013-06-13 15:39:39 691
原创 HDOJ 4278(天津网络预选赛1001题)Faulty Odometer
题意:一个人有个破车,这个车的里程表有问题。每当遇到3和8的时候都会直接跳过去,不记录数据。例在2公里的位置,跑了1公里,显示器显示4。遇到十位百位千位的时候也跳一下。就是29公里的位置,跑了一公里,会直接跳到40公里而非30公里 这题相当于一个计数器每次碰到数字3,8则直接跳过,当该计数器计数到n时,其实际计数为多少? 题意:关键是题意的理解和转化,事实上将数字3,8跳过相当于一个八
2013-06-13 15:39:37 636
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人