摘要: 正方形框 这道题目比较有意思,它在屏幕上给出了一张画有一些正方形方框的图形,这些方框可能互相覆盖,但不会超出屏幕的边界。现有要求你给出一个能构成该图形的方框序列。这些方框可以由下列字符组成: 输入:一张画有正方形框的图 输出: K X1Y1A1 … XkYkAk K代表正方框的数量,X和Y代表正方形的左上角坐标,A代表正方形的长度 样例输入: 样例输出: 6 16 11 7 32 14 4 4 8 8 11 6 7 36 11 3 28 8 3程序代码: 1 #include <stdio.h> 2 3 unsigned char map[50... 阅读全文
posted @ 2013-05-24 19:04 在于思考 阅读(511) 评论(0) 推荐(0) 编辑
摘要: K进制树,版本3 题目意思是对于N位的K进制数,其中N位数不包括前导零,求有多少个这样的数满足这N位数中没有相邻的0,2 ≤K≤ 10;N≥ 2;N+K≤ 1800。 输入:N和K 输出:满足条件的N位数的个数 样例输入: 2 10 样例输出: 90思路: 这道题目可以直接用dp找出状态转移方程。设dp[n]表示n位k进制数中所能满足题目条件的数的个数,那么状态转移方程为:这个方程其实也很直接,由于第n位(最高位)只能取1~k-1的k-1个数,而第n-1位数可以取0~k-1的k个数,dp[n-1]表示的正是第n-1位取1~k-1的k-1个数的情况,而dp[n-2]表示的正是第... 阅读全文
posted @ 2013-05-24 15:14 在于思考 阅读(836) 评论(0) 推荐(0) 编辑
摘要: 二叉苹果树 题目意思:有一个二叉树,每个树枝都有若干个苹果,现在要保留一些树枝,把其它的树枝删掉,问这棵树最多能保留多少个苹果? 输入:第一行有两个数N和Q,N(2 ≤N≤ 100;1 ≤Q≤N− 1)代表二叉树中结点的个数,Q代表保留的树枝的个数。接下来的N-1行描述二叉树的边,每条边包含两个结点和边上苹果的数量。端点是按1,2,3...N编号的,1代表根结点,删除的树枝中不能包含根结点。 输出:在保留的树枝中苹果的最大数量 样例输入: 5 2 1 3 1 1 4 10 2 3 20 3 5 20 样例输出: 21思路: 这是一个用树状dp来解决的问题,对于dp,当然... 阅读全文
posted @ 2013-05-23 16:21 在于思考 阅读(566) 评论(0) 推荐(0) 编辑
摘要: 各省的旗子 题目意思:有n种颜色,需要用这n种颜色为某个国家的各省创建旗子,并满足条件:每个省的旗子至少有一种公共的颜色,每种颜色不会同时出现在三个或更多的旗子上。求满足上面条件能创建的最多的旗子数。 输入:n(3 ≤n≤ 1000) 输出:第一行输出旗子数k,接下来的k行输出每面旗子中包含的颜色个数和颜色编号(1,2,3...n),它们之间用空格隔开。这样的解可能会有多个,只要其中的一种就可以了。 样例输入: 4 样例输出: 3 2 1 2 2 1 3 2 2 3 思路: 通过题目意思可以理解到每面旗子要与其他旗子至少有一种公共的颜色,而且这些公共颜色是不同的,所... 阅读全文
posted @ 2013-05-20 10:13 在于思考 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 在实现引导加载器之前,首先我们先了解下在开机之后系统是怎么被引导的,这对于实现引导加载器来说是很重要的。只有知道原理,才能更好的实现嘛。 1 引导过程 1.1 当电源按钮按下时 当我们按下电源按钮是到底发生了什么?当这个按钮被按下后,连接到这个按钮的线缆会向主板发送一个电信号,主板简单的把这个信号转 阅读全文
posted @ 2013-05-15 21:22 在于思考 阅读(2164) 评论(3) 推荐(6) 编辑
摘要: 1303 最小覆盖 题目的大概意思:给一组线段[Li, Ri],Li, Ri都是整数,在这组线段中找出数量最少的线段使这些线段能完全覆盖[0,M]。 输入: 第一行整数M (1≤M≤5000)。 后面是整数对,每对Li, Ri(abs(Li), abs(Ri)≤50000)占一行。最后一行为0 0表示结束。 输出: 第一行打印完全覆盖[0,M]的最小线段数。 后面打印覆盖[0,M]的线段,格式和输入一样。 如果不存在完全覆盖则打印“No solution” 思路:尽量选择覆盖[0,M]长的线段,这也是很明显的,线段覆盖[0,M]越长,完全覆盖[0,M]所需要的线段数必然越... 阅读全文
posted @ 2013-05-15 19:23 在于思考 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 1 安装和配置bochs 首先从bochs.sourceforge.net里面把BOCHS给download下来,鉴于Windows的普及,仅仅谈BOCHS在win下的使用方法,其实在其它的OS中方法差不多,不过我仅仅在Window和Linux下安装使用过。 在bochs.sourceforge.net里面把Bochs-2.6.1.exe给download下来,双击就开始安装。这软件不大,安装完才4兆多,当然,这是标准安装,如果你选择的是完全安装,则比标准安装多个DLX linux demo这个OS,如果你是第一次使用BOCHS,建议你用完全安装,装完 ,现不用着急学会BOCHS的一大堆配.. 阅读全文
posted @ 2013-05-13 21:41 在于思考 阅读(2772) 评论(0) 推荐(0) 编辑
摘要: 1 输入debug命令 在win7的命令行中输入debug,就进入到虚拟8086的执行环境了。也可以输入debug + 程序名字,这就是对某个程序进行调试。2 r(register)命令 从名字可以看出是对寄存器操作的命令,此指令有两个功能:一是显示所以寄存器和标记的内容,二是修改寄存器的内容。只输入r来显示寄存器的内容: debug总共显示3行,最底下一行是debug正要执行的命令,即cs:ip指向的命令。第一行和第二行显示了各个寄存器的值,其中第二行的最后表示的是标志寄存器中的值,从左到右分别为:溢出标志:ov(溢出),nv(未溢出);方向标志:dn(减),up(曾);中断标志:ei... 阅读全文
posted @ 2013-05-12 21:00 在于思考 阅读(4974) 评论(7) 推荐(3) 编辑
摘要: 80386处理器有3种工作模式:实模式、保护模式和虚拟86模式。实模式和虚拟86模式是为了和8086处理器兼容而设置的。在实模式 下,80386处理器就相当于一个快速的8086处理器。保护模式是80386处理器的主要工作模式。在此方式下,80386可以寻址4GB的地址空间,同时,保护模式提供了80386先进的多任务、内存分页管理和优先级保护等机制。为了在保护模式下继续提供和8086处理器的兼 容,80386又设计了一种虚拟86模式,以便可以在保护模式的多任务条件下,有的任务运行32位程序,有的任务运行MS-DOS程序。在虚拟86模式 下,同样支持任务切换、内存分页管理和优先级,但内存的寻址.. 阅读全文
posted @ 2013-05-12 10:15 在于思考 阅读(5329) 评论(1) 推荐(0) 编辑
摘要: 今天需要把项目静态链接的可执行程序到其它机器上运行,这个项目是用vc6.0写的,结果使用MFC静态库时发现编译出现下面的错误:--------------------Configuration: upload - Win32 Debug--------------------Linking...nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj)naf 阅读全文
posted @ 2013-05-11 19:00 在于思考 阅读(930) 评论(0) 推荐(0) 编辑