- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 POJ 3522 Slim Span (并查集 + 枚举 + kruskal)
链接:点击打开链接题目好长, 而且还有图片,所以就不复制粘贴过来了,这道题的大意是:一棵树T(连通无环子图)将用n-1条边连接原图的所有的n个顶点,生成的生成树的最大权值边与最小权值边的差(称“苗条值”)尽量小,找出这个最小的苗条值;思路:用kruskal枚举;首先对每条边的权值从小到大进行排序;枚举每条边为最小边生成最小生成树,并计算这样的生成树的苗条值,枚举玩所
2014-11-27 19:57:12 1097
原创 不带缓冲的IO的标准输入到标准输出
在POSIX标准中提供了函数open, read, write, lseek以及close提供不带缓冲的IO,这些函数都是使用文件描述符;在Linux/Unix系统中将标准输入复制到标准输出简单实现如下:#include #define BUFFSIZE 4096int main(int argc, char **argv){ int n; char b
2014-11-26 19:15:52 1454
原创 cout 输出字符串(指针)常见问题及put,write函数
C++ ostream类为下面的指针类型定义了插入运算符函数:const signed char *;const unsigned char *;const char *;void *;C++用指向字符串存储位置的指针来表示字符串,指针的形式可以是char数组名,显式的char指针或用引号括起来的字符串。 下面是一个简单输出字符串的例子:#include using names
2014-11-26 11:38:11 4707
原创 HOJ 1797 Red and Black (DFS)
链接:点击打开链接There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of four adjacent til
2014-11-21 14:59:42 764
原创 HLG 2163 方格取数 (最大网络流)
题目链接: 点击打开链接Description :给你一个n*n的格子的棋盘,每个格子里面有一个非负数。现在从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大。Input :包括多个测试实例,每个测试实例包括一个整数n 和n*n个非负数x(n<=20, 0 <= x <= 1000)。
2014-11-19 11:58:26 963
原创 Unix网络编程 高级IO套接字设置超时
我们知道,对于一个套接字的读写(read/write)操作默认是阻塞的,如果当前套接字还不可读/写,那么这个操作会一直阻塞下去,这样对于一个需要高性能的服务器来说,是不能接受的。所以,我们可以在进行读写操作的时候可以指定超时值,这样就读写操作就不至于一直阻塞下去。在涉及套接字的I/O操作上设置超时的方法有三种: 1:调用alarm,它在指定的超时期满时产生SIGALRM信号。
2014-11-18 13:20:46 1456
原创 Unix 网络编程 dup和dup2函数
dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。这两个函数的原形如下:#include int dup( int oldfd );int dup2( int oldfd, int targetfd );dup()函数:利用函数dup,我们可以复制一个描述符。传给该函数一个既有的描述符
2014-11-17 19:33:30 1196
原创 UVA 11729 Commando War
链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2829不摘抄题目了;
2014-11-13 11:32:43 761
原创 Unix网络编程 gethostbyname函数
gethostbyname函数 : 是将主机名转换成对应的IPv4地址;函数原型:struct hostent *gethostbyname(const char *hostname) //返回: 成功返回一个非空指针,否则返回NULL并设置errno的值返回:>>>调用成功,返回一个指向hostent结构的指针,该结构含有所查找主机
2014-11-11 14:57:03 1137
原创 main 函数argc , argv 主命令行参数
ARGc和ARGv中的ARG指的是"参数"(ARGuments, argument counter 和 argument vector )至少有两个参数至主函数:ARGc和ARGv;首先是一个至算提供的参数到程序, 第二个是对字符串数组的指针。基本作用:argc, argv 用命令行编译程序时有用。主函数main中变量(int argc, char *argv[ ])的含义
2014-11-07 22:07:16 1344
原创 ls 底层源码简单实现
列出一个目录中所有文件的名字,相当于在Linux/Unix终端命令行模式下键入ls命令的功能实现:#include "apue.h"#include intmain(int argc, char *argv[]){ DIR *dp; struct dirent *dirp; if(argc != 2) err_qui
2014-11-07 21:33:54 2242
原创 Select函数文件描述符集的准备条件
网络编程中,我们经常讨论等待某个描述符准备好I/O(读/写)或者等待其上发生一个待处理的异常条件。尽管可读性和可写性对于普通文件这样的描述符显而易见,然而对于引起诸如select返回套接字“就绪”的条件我们必须讨论的更明确些。套接字Select函数原型:#include #include int select(int maxfdp1, fd_set *readset, fd_set
2014-11-05 11:55:56 1649
原创 2013 Asia Retional Contest B題 最大停車場 (dp || 模擬)
Description :某单位要新建一个新的停车场,但是现有的场地中有好多地方都因为有缺陷而不能使用。原有的场地可以是看作是由n*m个方格组成的,作为单位的建造负责人,你需要在现有场地中找到一个尽可能大的矩形地盘来建造停车场。Input 第一行输入一个整数T表示数据的组数。 对于每组测试数据: 第一行输入两个整数n,m分别表示现有场地的长度和宽度(n≤1000,m
2014-11-02 23:15:27 895
原创 Socket进程处理被中断的系统调用及Accept函数返回EINTR错误处理
我们用慢系统调用来描述那些可能永远堵塞的系统调用(函数调用),如:accept,read等。永远堵塞的系统调用是指调用有可能永远无法返回,多数网络支持函数都属于这一类。例如,如果没有客户连接到服务器上,则服务器对accept的调用就没有返回保证。类似的,如果客户从未发送过一行要求服务器回射的文本,则服务器对read的调用将永不返回。其他慢系统调用的例子是对管道和终端设备的读写。有一个例外,就是磁盘
2014-11-02 22:51:34 1960
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人