写代码是一种艺术,甚于蒙娜丽莎的微笑!

不拼搏,枉少年!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

03 2016 档案

摘要:题目来源:赛马网(Max Sum) Problem Description Input Output Sample Input Sample Output 阅读全文
posted @ 2016-03-29 20:15 RunningSnail 阅读(302) 评论(0) 推荐(0) 编辑

摘要:不久前在做某家公司的网测时遇到了关于数组指针和指针数组的问题,在复习C语言知识的时候简单看了一下,么有深究。所以在做题的时候,就只能靠猜测,不过后来还可以竟然也蒙对了。不过不能这样靠运气,万一某天不lucky了,就wrong answer了。还是要好好整理一下关于这方面的知识。 指针数组,从字面上理 阅读全文
posted @ 2016-03-29 15:03 RunningSnail 阅读(256) 评论(0) 推荐(0) 编辑

摘要:0-1背包问题 完全背包问题 多重背包问题是0-1背包问题和完全背包问题的综合体,可以描述如下:从n种物品向容积为V的背包装入,其中每种物品的体积为w,价值为v,数量为k,问装入的最大价值总和? 我们知道0-1背包问题是背包问题的基础,所以在解决多重背包问题的时候,要将多重背包向0-1背包上进行转换 阅读全文
posted @ 2016-03-28 16:09 RunningSnail 阅读(7949) 评论(0) 推荐(0) 编辑

摘要:对于背包问题在前面动态规划 - 0-1背包问题的算法优化已经讲到了关于0-1背包问题的解法,0-1背包问题是最基本的背包问题,它的特点是:每一件物品之多只能选择一件,即在背包中该物品数量只有0和1两种情况。 现在扩展一下,有一个容积为V的背包,同时有n种物品,每种物品均有无数多个,并且每种物品的都有 阅读全文
posted @ 2016-03-28 14:54 RunningSnail 阅读(14207) 评论(1) 推荐(0) 编辑

摘要:哈哈,这个标题有点搞笑了!笑一笑,十年少,希望大家都嗨心! 在C++中主要有四种强制类型转换:static_cast,reinterpret_cast,const_cast,dynamic_cast。 1)static_cast<T*>(a) 将地址a转换成类型T,T和a必须是指针、引用、基本数据类 阅读全文
posted @ 2016-03-21 21:03 RunningSnail 阅读(2164) 评论(0) 推荐(0) 编辑

摘要:typedef是C++中的一个十分重要的关键字,它有强大的功能和方法的用途。但是有时候,碰到一些用到typedef的地方却感到很奇怪了。 给个栗子尝尝: 很奇怪,你不觉得奇怪吗?反正我是信了,一个字-“怪”。 好,下面就讲一下C++中的一怪“typedef”。 typedef的定义是,为现有类型创建 阅读全文
posted @ 2016-03-21 14:31 RunningSnail 阅读(478) 评论(0) 推荐(0) 编辑

摘要:信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性。当某个信号被发射,就需要调用与之相绑定的槽函数。这与Windows下的消息机制类似,消息机制是基于回调函数。一个回调即是一个函数的指针,因此如果希望一个处理函数通知一些事件,可以传递一个函数(回调函数)的指针给这个处理函数。这个处 阅读全文
posted @ 2016-03-14 09:59 RunningSnail 阅读(21774) 评论(0) 推荐(5) 编辑

摘要:使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式。在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维护它的代码段、堆栈段和数据的,这是一种“昂贵”的多任务工作方式。而运行一个进程中的多个线程,它们彼此之间使用相同的地址空间,共享大部分数据。并且 阅读全文
posted @ 2016-03-13 21:47 RunningSnail 阅读(593) 评论(0) 推荐(0) 编辑

摘要:OSI模型是国际互连网标准化组织(International Standards Organizations ISO)所定义的,为了使网络的各个层次有标准。这个模型一般被称为“ISO OSI(Open System Interconnection)Reference Model”。 虽然迄今为止没有 阅读全文
posted @ 2016-03-10 22:12 RunningSnail 阅读(580) 评论(0) 推荐(0) 编辑

摘要:《计算机操作系统》这门课对进程有这样的描述:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据 阅读全文
posted @ 2016-03-10 21:53 RunningSnail 阅读(14256) 评论(0) 推荐(3) 编辑

摘要:函数原型: int sockfd(AF_INET,SOCK_RAW,protocol); 可以创建一个原始套接字,根据协议的类型不同我们可以创建不同类型的原始套接字,比如:IPPROTO_ICMP,IPPROTO_TCP,IPPROTO_UDP等等。下面我们以一个实例来说明原始套接字的创建和使用: 阅读全文
posted @ 2016-03-07 21:55 RunningSnail 阅读(486) 评论(0) 推荐(0) 编辑

摘要:服务器设计技术有很多,按使用的协议来分有TCP服务器和UDP服务器,按处理方式来分有循环服务器和并发服务器。 在网络程序里面,一般来说都是许多客户对应一个服务器,为了处理客户的请求,对服务端的程序就提出了特殊的要求。 目前最常用的服务器模型有: UDP循环服务器每次从套接字上读取一个客户端的请求-> 阅读全文
posted @ 2016-03-07 21:48 RunningSnail 阅读(1053) 评论(0) 推荐(0) 编辑

摘要:1、定义: TCP/IP模型也被称作DoD模型(Department of Defense Model)。TCP/IP字面上代表了两个协议:TCP(传输控制协议)和IP(网际协议)。 TCP/IP协议不是TCP和IP这两个协议的合称,而是指因特网整个TCP/IP协议族。从协议分层模型方面来讲,TCP 阅读全文
posted @ 2016-03-07 21:12 RunningSnail 阅读(567) 评论(0) 推荐(0) 编辑

摘要:网络通信的高级函数 1、recv和send 函数原型: int recv(int sockfd,void *buf,int len,int flags); int send(int sockfd,void *buf,int len,int flags); 前面的三个参数和read、write一样,第 阅读全文
posted @ 2016-03-07 20:46 RunningSnail 阅读(419) 评论(0) 推荐(0) 编辑

摘要:1、UDP常用的发送和接收函数 sockfd,buf,len的意义和read,write中的参数是一样的,分别表示套接字描述符,发送或接收的缓冲区及大小。 recvfrom负责从sockfd接收数据,如果from不是NULL,那么在from里面存储了信息来源的情况,如果对信息的来源不感兴趣,可以将f 阅读全文
posted @ 2016-03-07 20:24 RunningSnail 阅读(461) 评论(0) 推荐(0) 编辑

摘要:1、写函数write 函数原型: write函数将buf中的nbytes字节内容写入文件描述符fd,成功时返回写的字节数,失败时返回-1。在网络程序中,向套接字文件描述符写时有两种情况: 1)write的返回值大于0,表示写了部分或者是全部数据。 2)返回值小于0,此时出现了错误,要根据错误类型来处 阅读全文
posted @ 2016-03-07 17:12 RunningSnail 阅读(378) 评论(0) 推荐(0) 编辑

摘要:1、字节转换函数 在网络上可能连接着许多类型不同的机器,这些机器在表示数据的字节顺序是不同的,比如i386芯片是低字节在内存地址的低端,高字节在高端,而alpha芯片却相反。为了统一起来,在linux下面,有专门的字节转换函数。 unsigned long int htonl(unsigned lo 阅读全文
posted @ 2016-03-07 16:17 RunningSnail 阅读(412) 评论(0) 推荐(0) 编辑

摘要:要点:Linux系统是通过套接字socket来进行网络编程的。网络程序通过socket和其它几个函数的调用,会返回一个通讯的文件描述符。我们可以将这个描述符看成普通文件的描述符来操作,这就是Linux的设备无关性的好处。通过向描述符进行读写操作可以实现网络之间的数据交流。 1、socket 函数原型 阅读全文
posted @ 2016-03-07 15:25 RunningSnail 阅读(360) 评论(0) 推荐(0) 编辑

摘要:1、客户端和服务端 网络程序和普通程序的一个最大区别是网络程序有两个部分组成即客户端和服务端。 客户端是在网络程序中和外界程序进行通信(获取文件)的程序,例如ftp程序就是客户端。 服务端和客户端程序相对应,是被动的等待外面的程序来和自己通信的程序。 互为客户端和服务端:在实际应用中有些程序是互为客 阅读全文
posted @ 2016-03-07 14:28 RunningSnail 阅读(398) 评论(0) 推荐(0) 编辑

摘要:题目描述: 假设这有一个各种字母组成的字符串A,和另外一个字符串B,字符串里B的字母数相对少一些。什么方法能最快的查出所有小字符串B里的字母在大字符串A里都有? 比如,如果是下面两个字符串: String 1: ABCDEFGHLMNOPQRS String 2: DCGSRQPO 答案是true, 阅读全文
posted @ 2016-03-04 10:27 RunningSnail 阅读(864) 评论(0) 推荐(0) 编辑

摘要:一、虚函数定义 在某基类中声明为virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为: virtual 函数返回类型 函数名(参数表) {函数体}; 虚函数是C++语言实现运行时多态的唯一手段,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。 举个例子: 程序的输出为 阅读全文
posted @ 2016-03-03 21:27 RunningSnail 阅读(1769) 评论(0) 推荐(2) 编辑

摘要:文章出处:http://blog.csdn.net/linyt/article/details/6336762 虚函数是C++语言实现运行时多态的唯一手段,因此掌握C++虚函数也成为C++程序员是否合格的试金石。csdn网友所发的一篇博文《VC虚函数布局引发的问题》 从汇编角度分析了对象虚函数表的构 阅读全文
posted @ 2016-03-03 15:58 RunningSnail 阅读(760) 评论(0) 推荐(0) 编辑

摘要:题目描述: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 输入: 输入可能包含多个测试样例。 对于每个输入文件,第一行输入一个整数T,表示测试案例的数目,接下来的T行每行输入一个浮点数base和一个整数exponent,两个数中间用一 阅读全文
posted @ 2016-03-02 20:21 RunningSnail 阅读(332) 评论(0) 推荐(0) 编辑

摘要:题目描述: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 输入: 输入可能包含多个测试样例。 对于每个输入文件,第一行输入一个整数T,代表测试样例的数量。对于每个测试样例输入为一个整数。 。n保证是int范围内的一个整数。 输出: 对应每个测试案例, 输出一个整数,代表输入的那个 阅读全文
posted @ 2016-03-02 19:09 RunningSnail 阅读(956) 评论(0) 推荐(0) 编辑

摘要:1)位运算 位运算是指对转换成二进制的数字进行每一位上的0、1的运算,运算涉及到五种运算:与(&),或(|),异或(^),左移(<<),右移(>>)。 如下表所示: 0001 1001 << 2 = 0110 0100 1000 1010 << 3 = 0101 0000 0000 1010 >> 阅读全文
posted @ 2016-03-02 13:24 RunningSnail 阅读(3997) 评论(1) 推荐(0) 编辑

摘要:1.extern的作用 extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,可以告知编译器,用extern声明的函数和变量可以在本模块或其它模块中使用。 通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。例如,如果模块B欲引用该模块A中 阅读全文
posted @ 2016-03-01 09:36 RunningSnail 阅读(779) 评论(0) 推荐(0) 编辑