- 博客(65)
- 资源 (2)
- 收藏
- 关注
原创 gdb 调试总结
这两天linux下调试程序到用到了GDB,在这里总结下: 首先,要使用gdb的话,必须在用gcc编译时,使用 -g 选项,在可执行文件中加入调试信息,这样后续就可以用gdb进行调试了。 1. 开始调试进入gdb后,先使用file命令加载可执行文件,然后可以使用run/r或者start命令,GDB建立子进程来运行被调试程序,另外,run和start命令后面都可以加上传递给被
2014-10-26 23:10:08 802
转载 什么是编程模型
什么是编程模型程序是问题求解过程的表达,表达求解过程的语言统称为编程语言。求解过程就是逻辑,就是顺序、条件、循环三种形式,因此程序就是用特定的语言表示的逻辑,程序是形式,逻辑是内容。模型是对事物共性的抽象,编程模型就是对编程的共性的抽象。什么是编程的共性呢?最重要的共性就是:程序设计时,代码的抽象方式、组织方式或复用方式。编程技术与编程模型有时并不加以区别,
2013-09-03 19:16:47 9150
原创 蓝桥杯 求自然数序列的最小公倍数
问题描述:为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致。但也并非纯粹的偶然:60是个优秀的数字,它的因子比较多。事实上,它是1至6的每个数字的倍数。即1,2,3,4,5,6都是可以除尽60。我们希望寻找到能除尽1至n的的每个数字的最小整数。不要小看这个数字,它可能十分大,比如n=100, 则该数为:697203752297124771645338089353123035
2013-06-16 16:49:13 2079
转载 Linux 控制台 终端 虚拟终端 伪终端
大家都知道,最初的计算机由于价格昂贵,因此,一台计算机一般是由多个人同时使用的。在这种情况下一台计算机需要连接上许多套键盘和显示器来供多个人使用。在以前专门有这种可以连上一台电脑的设备,只有显示器和键盘,还有简单的处理电路,本身不具有处理计算机信息的能力,他是负责连接到一台正常的计算机上(通常是通过串口) ,然后登陆计算机,并对该计算机进行操作。当然,那时候的计算机操作系统都是多任务多用户的操
2013-06-03 00:13:26 1642
原创 最大不能组合的数
题目描述:小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。 小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。 你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。 本题的要求就是在已知两个包装的数量时,求最大不能组合出
2013-05-18 18:38:30 3645 6
原创 NYIST 708 ones
ones时间限制:1000 ms | 内存限制:65535 KB难度:3描述Given a positive integer N (0<=N<=10000), you are to find an expression equals to N using only 1,+,*,(,). 1 should not appear continuously, i.
2013-05-14 22:57:06 959
原创 NYIST 47 过河问题
过河问题时间限制:1000 ms | 内存限制:65535 KB难度:5描述在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,N个人一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,N人所需要的时间已知;而如果两人同时过桥,所需要的时间就是走得比较慢的那个人单独行
2013-05-13 22:48:23 1084
原创 NYIST 63 小猴子下落
小猴子下落时间限制:3000 ms | 内存限制:65535 KB难度:3描述有一颗二叉树,最大深度为D,且所有叶子的深度都相同。所有结点从左到右从上到下的编号为1,2,3,·····,2的D次方减1。在结点1处放一个小猴子,它会往下跑。每个内结点上都有一个开关,初始全部关闭,当每次有小猴子跑到一个开关上时,它的状态都会改变,当到达一个内结点时,如果开关
2013-05-13 20:34:17 866
原创 觉醒吧,。。。。。
2013年5月13日19:35:24不知怎么的,最近什么都不想做,看书提不起兴趣,。。。。一直窝在宿舍,看着电脑,从一个连接点到另一个,什么都没做,也不想做,。。。。都大三了,还感觉什么都没做好,但却淡定的睡觉睡到九点、十点,。。。。。。。今天逛CSDN看到另一个,应该现在在大四,看人家的博客,那叫一个自卑啊,。。。。。。。。http://blog.csdn.net
2013-05-13 19:41:04 889
原创 两个整数的平均值
求两个整数a,b的均值时,经常写的就是(a+b)/2然而此种写法有一个问题就是 a+b 的值可能溢出,如何解决这个问题呢?方法1:对 a 和 b 做判断,若 a 和 b 同为奇数,则给 a/2 + b/2 加 1,否则不加avg = a/2 + b/2 + ((a&1 && b&1)?(1:0))方法2:avg = a & b + (a ^ b)>>
2013-05-12 16:35:47 1492
原创 vi root用户语法高亮不成功的问题
配置vi时,root用户语法高亮总是不成功,什么原因呢?原来对于一般用户,当我们查看命令别名时会发现vi = vim而对于root来说,则默认没有定义此别名,因而vi就是vi,而不是vim没有那些配置选项,因而才会不成功知道原因问题就好解决了,可用alias命令来定义vi别名为vim,如下:alias vi='vim'但该别名在退出登陆后就被删除了,一种让该别名永久生效
2013-05-08 22:32:17 1410
转载 文件读写: 二进制方式和文本方式的区别
首先要明白一点,就是无论你用哪种语言进行程序设计,也无论你用哪个函数进行文件操作(库函数也好,直接操作系统API也好),最终的文件打开的操作都是由操作系统来进行的,因此各种语言的情况从本质上来说都是相同的。 用二进制模式打开一个文件的时候,文件本身的内容和你编写程序时用函数读到的内容完全相同(或者说和磁盘上的内容完全相同)。 但是如果用了文本模式,那么操作系统在将文件内容传给上层程序(
2013-05-02 21:32:03 949 1
原创 最大子序列积
测试代码,有错误请指正,谢谢!#include#define max(a, b) (((a)>(b))? (a) : (b))#define min(a, b) (((a)<(b))? (a) : (b))double maxMul(double a[], int n){ //p1,p2代表当前最大的子序列乘积,且p1,p2大于0,小于0时无效 //q1
2013-04-26 20:09:05 1020
原创 O(n)时间复杂度旋转字符串
测试代码如下:#include#include //k>0时,向右旋转,k<0时,向左旋转//返回旋转后的字符串char * rotate(char * str, int k){ int num, size, start, i; char ch, tmp; i=0, size=strlen(str), num=0;//忘记初始化num,定义变量时最好初始化
2013-04-25 23:52:51 964
原创 2013-4-23
今天是2013-4-23日,很幸运,通过了腾讯后台实习的最后一次面试,应该可以签到一个实习offer。但还是感觉最近过的有点堕落,还有好多东西要学呢!最近过的有点舒服啊!!!加油,好好努力,争取留下来,听说实习后留下的几率蛮大的呢,,加油啊!!!
2013-04-23 22:54:34 772
原创 poj 3356 编辑距离(空间优化)
AGTCTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 7780 Accepted: 3087DescriptionLet x and y be two strings over some finite alphabet A. We would lik
2013-04-17 18:15:48 1273
转载 动态规划总结
动态规划总结by Amber1. 按状态类型分写在前面:从状态类型分,并不表示一题只从属于一类。其实一类只是一种状态的表示方法。可以好几种方法组合成一个状态,来解决问题。1.1. 编号(长度)动态规划共性总结本类的状态是基础的基础,大部分的动态规划都要用到它,成为一个维。一般来说,有两种编号的状态:状态(i)表示前i个元素
2013-04-17 00:06:02 1138
原创 NYIST 36 最长公共子序列(空间优化)
最长公共子序列时间限制:3000 ms | 内存限制:65535 KB难度:3描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合
2013-04-16 23:39:25 1163
原创 NYIST 15 The Triangle(空间优化)
The Triangle时间限制:1000 ms | 内存限制:65535 KB难度:4描述73 88 1 02 7 4 44 5 2 6 5(Figure 1)Figure 1 shows a number triangle. Write a program that calculates the highest sum of
2013-04-16 23:14:11 872
原创 NYIST 37 回文字符串
回文字符串时间限制:3000 ms | 内存限制:65535 KB难度:4描述所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。输入第一行给出整数N(0
2013-04-16 22:04:42 998
原创 NYIST 10 skiing
skiing时间限制:3000 ms | 内存限制:65535 KB难度:5描述Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3
2013-04-16 21:42:32 795
原创 NYIST 15 括号匹配(二) 动态规划
括号匹配(二)时间限制:1000 ms | 内存限制:65535 KB难度:6描述给你一个字符串,里面只包含"(",")","[","]"四种符号,请问你需要至少添加多少个括号才能使这些括号匹配起来。如:[]是匹配的([])[]是匹配的((]是不匹配的([)]是不匹配的输入第一行输入一个正整数N,表示测试数据组数(N每组测试数
2013-04-16 19:59:44 2122
原创 NOJ 1227: 拆数
每一个正整数都可以被表示为指数形式。例如:137 = 2^7 + 2^3 + 2^0。现在用a(b)来表示a^b,那么137就可以被表示为2(7)+2(3)+2(0),又因为7 = 2^2 + 2 + 2^0 并且3 = 2 + 2^0 ,所以137最后表示为2(2(2)+2 +2(0))+2(2+2(0))+2(0)。 现在的任务是给出一个正整数,你需要把它表示为只有数字2和0的
2013-04-16 19:02:10 1087
原创 NYIST 116 士兵杀敌(二) --- 线段树区间更新
士兵杀敌(二)时间限制:1000 ms | 内存限制:65535 KB难度:5描述南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。
2013-04-14 14:49:10 865
转载 extern "C"的用意
转载自:http://blog.csdn.net/wujian53/article/details/706975前些天,编程序是用到了很久以前写的C程序,想把里面的函数利用起来,连接发现出现了找不到具体函数的错误:以下是假设旧的C程序库C的头文件/*-----------c.h--------------*/#ifndef _C_H_#define _C_H_ex
2013-04-11 21:14:25 753
原创 C指针与数组详解 -- 一道数组与指针的问题
下面一段代码的运行结果是什么?#include using namespace std;int main(int argc, char** argv) { int a[5] = {1,2,3,4,5}; int* ptr = (int*)(&a + 1); cout<<*(a+1)<<","<<*(ptr-1)<<endl; return 0;
2013-04-11 20:11:25 1027
原创 XDU 1049 斐波那契数
Description 斐波那契数列是如下的一个数列,0,1,1,2,3,5……,其通项公式为F(n)=F(n-1)+F(n-2),(n>=2) ,其中F(0)=0,F(1)=1,你的任务很简单,判定斐波契数列的第K项是否为偶数,如果是输出YES,否则输出NOInput第一行,T,表示有T个测试样例。接下来T行,每行一个数据K(0Output
2013-04-10 23:50:03 785
转载 字符数组和字符指针在分配内存时的差别
转载自:http://blog.163.com/hangqiang321@yeah/blog/static/164202800201181685812566/char str1[]="abc"; char str2[]="abc"; char str3[]="abc"; char str4[]="abc"; const char* str5="abc"; const char* str6
2013-04-08 17:58:03 1203
原创 循环递增数列查找(百度笔试题)
百度移动终端研发笔试:对已排好序的数组A,一般来说可用二分查找可以很快找到。现有一特殊数组A[],它是循环递增的,如A[]={ 17 19 20 25 1 4 7 9},试在这样的数组中找一元素x,看看是否存在。解题思路:第一眼看到题目,想到的就是二分查找,但是对于该题目不能直接运用,但通过观察可发现,用类似二分查找的方法可以找到数组中的最小值的索引值,思路很简单,就不写方法了,其时间
2013-04-07 22:45:12 3421
原创 重复全排列
题目描述:对于给定的字符串(某些字符可能重复出现多次),打印该字符串的全排列,不能出现重复排列算法思想:对于一个不重复字符串的全排列为:1. 当只有一个字符时,直接打印2. 每一个字符和第一个字符交换再加上剩下n-1个字符的全排列,即为所求,如:abc的全排列为‘a’作为前缀:abc、acb'b'作为前缀:bac、bca'c'作为前缀:cab、cba而有
2013-04-06 23:17:52 1518
原创 static和const关键字
static关键字至少有下列几个作用:(1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;(2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;(3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;
2013-04-06 20:42:41 949
转载 线段树总结
之前做了些线段树相关的题目,开学一段时间后,想着把它整理下,完成了大牛NotOnlySuccess的博文“完全版线段树”里的大部分题目,其博文地址Here,然后也加入了自己做过的一些题目。整理时,更新了之前的代码风格,不过旧的代码仍然保留着。 同样分成四类,不好归到前四类的都分到了其他。树状数组能做,线段树都能做(如果是内存限制例外),所以也有些树状数组的题目,会标示出来,并且放
2013-04-06 20:08:29 865
转载 关于23种设计模式的有趣见解
创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如
2013-04-06 20:05:00 656
原创 遇到的fread的问题
fread、fwrite的功能是从一个文件流中读取二进制对象的,因而需要以‘rb’或‘wb’方式打开文件,而不能是‘r’,否则可能造成读写取错误测试代码如下:#include #define BUFSIZE 1000000int main(){ char srcName[] = "src.rar"; char buf[BUFSIZE]={0}; FILE* s
2013-04-06 10:54:20 1533
原创 NYIST 311 (背包问题优化)
#include#include#define max(a,b) (a)>(b)?(a):(b)int main(){ int n,m,v,i,j,d[50005],a,b; scanf("%d",&n); while(n--) { scanf("%d%d",&m,&v); memset(d,-100,sizeof(d)); d[0]=0; for(i=0;i<m;
2013-04-01 22:50:12 780
原创 NYIST 289 0-1背包问题优化
#include #include #define max(a,b) (((a)>(b))?(a):(b))int w[1001], v[1001], dp[1001];int main(){ int n, c; while(scanf("%d %d", &n, &c) && (c+n)) { memset(dp, 0, sizeof(dp));
2013-04-01 21:53:59 805
原创 不用判断和循环打印1000次
方法1:宏,不断重复#include #define P1 printf("print\n");#define P10 P1 P1 P1 P1 P1 P1 P1 P1 P1 P1#define P100 P10 P10 P10 P10 P10 P10 P10 P10 P10 P10#define P1000 P100 P100 P100 P100 P100 P100 P100 P
2013-03-31 14:56:35 1701
原创 google 笔试题: 丑数
题目描述:题目:我们把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第1500个丑数。方法1: 最简单的想法就是将所有的数枚举,直到产生第n个丑数,但次方法比较耗时,且做了很多无用的工作。方法2: 由丑数的性质可知,丑数的一定是另一个丑数的2、3或5倍,又第一个丑
2013-03-31 13:56:21 3178
原创 吃土豆
描述Bean-eating is an interesting game, everyone owns an M*N matrix, which is filled with different qualities beans. Meantime, there is only one bean in any 1*1 grid. Now you want to eat the beans a
2013-03-31 12:50:38 801
struts 1.x
2013-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人