跳至正文

技术

NOIp 2007 第三题 矩阵取数游戏

  题目困扰了我很久,后来才知道,该怎么解题。
  这题说是说矩阵取数,但是仔细看看能够知道,和矩阵没什么关系,只每行的最大值有关,因为每行之间的最大没有任何关系。那么就将矩阵取数转变成了对数组取数,对数组取数很容易看出来是DP,DP方程如下:f[i][j] = max( 2 map[i] +&nb[……]

继续阅读

Http服务器正式版

  • 技术

  经过昨天一晚上的奋斗+今天一早上的奋斗,服务器总算是能够真正的使用了。

昨晚上:

  今天晚上拼了命在写服务器,打算把进程池写出来,反复的翻Unix 环境高级编程,天啊,进程之间的通信真的很麻烦,没对进程都需要两个管道(如果需求移植能力强的话是2个,不然可以是1个。)然后我就放弃了,考虑线程池,但[......]

继续阅读

Http 服务器 beta 0.1 版

  • 技术
  修改了一两个小时,把文件的源代码由一个分成了几个,每个文件完成各自的功能,(有点模块化的感觉,哈哈)。然后自然是写了一个Makefile,不过只有2行代码咯,关键是可以捕捉信号了,就是说可以处理子进程僵死的问题了,成功升级为真正的并发服务器,关于这点我打算写成线程池或进程池,可以可以提高服务器的[……]

继续阅读

NOIP 2007 统计数字 解题报告

  这一题我的思路(应该)是O(nlogn)的,就是进行一趟快排加上对数组进行一次扫描。
  快排直接调用库函数,扫描就是用j记录当前自然数,c记录当前自然数出现的次数,如果num[i]和j相同,c++;不同就输出j和c,然后j=num[i], c = 1。在循环结束后还要将最后一个自然数输出。
  下[……]

继续阅读

NOIP 2008 提高组 双栈排序 解体报告

  • OI路程

  这个题目我的思路很简单,就是读入一个数据,判断是否小于s1的顶元素,如果是则讲数据压入s1,否则该数据是否小于s2的顶元素,如果是则将它压入栈s2。然后再判断s1的顶是否等于当前需要输出的值(就是安顺序来是不是对的),如果是就输出b。再同样判断s2,如果是就输出d。
  很可惜,只有30分,代码如[……]

继续阅读

NOIP 2008 提高组 传纸条 解题报告

  这题我以前就看过,一直不会做,后来看到别人说双线程动态规划,我以为是多么多么的神奇的一个东西,把它看的和Linux源码一样神奇了,现在学了之后也就是简单的DP,我用的四维DP,别人都说是三维,我先用四维做,以后再考虑三维(也许不会再考虑这一题了咯。)
  我的方程如下:f[a][b][c][d][……]

继续阅读