上一页 1 2 3 4 5 6 7 8 ··· 17 下一页
摘要: 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4831 题目大概意思就是有多个风景区和休息区,每个风景区有热度,休息区的热度与最接近的分景区的热度相同,题目要求求出小于等于给定热度值的风景区和休息区的个数。显然如果直接暴力的话,复杂度为O(TKN... 阅读全文
posted @ 2014-06-02 16:57 在于思考 阅读(756) 评论(0) 推荐(0) 编辑
摘要: 题目描述:小度和小良最近又迷上了下棋。棋盘一共有N行M列,我们可以把左上角的格子定为(1,1),右下角的格子定为(N,M)。在他们的规则中,“王”在棋盘上的走法遵循十字路线。也就是说,如果“王”当前在(x,y)点,小度在下一步可以移动到(x+1, y), (x-1, y), (x, y+1), ... 阅读全文
posted @ 2014-05-29 08:41 在于思考 阅读(1115) 评论(0) 推荐(0) 编辑
摘要: 题目描述:一个{1, ..., n}的子集S被称为JZP集,当且仅当对于任意S中的两个数x,y,若(x+y)/2为整数,那么(x+y)/2也属于S。例如,n=3,S={1,3}不是JZP集,因为(1+3)/2=2不属于S。但是{1,2,3}的其他子集都属于S,所以n=3时有7个JZP集给定n,求... 阅读全文
posted @ 2014-05-26 16:53 在于思考 阅读(1766) 评论(4) 推荐(2) 编辑
摘要: 一般的素数筛选的思路是从2开始,将所有2的倍数去掉,然后从3开始,将3的倍数去掉,然后从下一个素数x开始,将x的倍数去掉...,这样可以将所有素数的倍数去掉。实现代码如下: 1 int PrimeOld() 2 { 3 int i; 4 5 cnt = 0; 6 memse... 阅读全文
posted @ 2014-05-26 15:04 在于思考 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 前言 前段时间帮别人调试程序,在windows下能正常显示的输出,在linux下输出的全是乱码?后来发现windows默认的文件编码而是GB2312,而linux下的文件默认是utf-8,所以导致了这个问题。另一个问题就是用source insight看源码的问题,对windows下的文本文件都能... 阅读全文
posted @ 2014-05-18 17:14 在于思考 阅读(2793) 评论(0) 推荐(1) 编辑
摘要: 转自:http://blog.csdn.net/vividonly/article/details/6527061假设有a.c文件,要把它编译成可执行文件a。编译+汇编:试了一下,以下三种写法都行:gcc -c a.c -o a.ogcc -c -o a.o a.cgcc -c a.c以上三种写法都... 阅读全文
posted @ 2014-04-23 16:33 在于思考 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 1、为什么会出现系统调用被中断的情况? 进程在执行一个低速系统调用而阻塞期间捕捉到一个信号时,该系统调用就被中断不再继续执行。该系统调用返回出错,其errno被设置为EINTR。这样处理的理由是:因为一个信号发生了,进程捕捉到了它,这意味着已经发生了某种事情,所以是个唤醒阻塞的系统调用的好机会。2... 阅读全文
posted @ 2014-03-02 13:16 在于思考 阅读(1130) 评论(0) 推荐(0) 编辑
摘要: 看到很多面试书和博客都提到编写atoi函数,在很多面试中面试官都会要求应聘者当场写出atoi函数的实现代码,但基本很少人能写的完全正确,倒不是这道题有多么高深的算法,有多么复杂的数据结构,只因为这道题要考虑的情况比较多,大部分应聘者都没能把所有情况都考虑到,能很好的考察应聘者的编程基本功和思考问题全面性等能力。一看到这道题目我的第一反应是这么简单啊,不就是把一个字符串转化成整数吗?然后速度写下了实现代码,然后测试了下,貌似结果也正确,然后再看了看书和博客上的实现,发现自己很多种情况都没考虑进去,自己测试的也只是自己考虑的一两种情况。 这道题目要考虑的情况还真是很多,比如:如果传的字符串指... 阅读全文
posted @ 2014-02-26 19:59 在于思考 阅读(1073) 评论(2) 推荐(0) 编辑
摘要: brk和sbrk的定义 在man手册中定义了这两个函数:1 #include 2 int brk(void *addr);3 void *sbrk(intptr_t increment); 手册上说brk和sbrk会改变programbreak的位置,programbreak被定义为程序datasegment的结束位置。感觉这句话不是很好理解,从下面程序地址空间的分布来看,datasegment后面还有bsssegment,显然和手册说的不太一样。一种可能的解释就是手册中的datasegment和下图中的datasegment不是一个意思,手册中的datasegment应该包含了下图中的d.. 阅读全文
posted @ 2014-02-25 14:46 在于思考 阅读(15650) 评论(5) 推荐(3) 编辑
摘要: 为什么需要标准IO缓冲? LINUX用缓冲的地方遍地可见,不管是硬件、内核还是应用程序,内核里有页高速缓冲,内存高速缓冲,硬件更不用说的L1,L2cache,应用程序更是多的数不清,基本写的好的软件都有。但归根结底这些缓冲的作用是相同的,都是为了提高机器或者程序的性能。而需要缓冲大部分的情况都是为了协调两个设备或者两个系统间速度的不匹配。 大家都知道IO设备的访问速度与CPU的速度相差好几个数量级,所以为了协调IO设备与CPU的速度的不匹配,对于块设备内核使用了页高速缓存。也就是说,数据会先被拷贝到操作系统内核的页缓存区中,然后才会从操作系统内核的缓存区拷贝到应用程序的地址空间。 当应用... 阅读全文
posted @ 2014-02-24 18:36 在于思考 阅读(3468) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 17 下一页