当TCP客户端同时处理多个IO,如标准输入和TCP socket,我们会遇到的问题就是客户端可能会阻塞在标准输入(如fget())上。这时,服务器虽然正确的给客户端发送了报文,但客户端进程正阻塞在fget()上。要解决这样的问题,我们需要一种机制,进程要有一种能预先告知内核的能力,让内核一旦发现进程指定的一个或者...
问题描述  小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的...
问题描述  给定一段文字,已知单词a1, a2, …, an出现的频率分别t1, t2, …, tn。可以用01串给这些单词编码,即将每个单词与一个01串对应,使得任何一个单词的编码(对应的01串)不是另一个单词编码的前缀,这种编码称为前缀码。  使用前缀码编码一段文字是指将这段文字中的每个单词依次对应到其编码。...
问题描述  授权 (authorization) 是各类业务系统不可缺少的组成部分,系统用户通过授权机制获得系统中各个模块的操作权限。  本题中的授权机制是这样设计的:每位用户具有若干角色,每种角色具有若干权限。例如,用户 david 具有 manager 角色,manager 角色有 crm:2 权限,则用户 ...
问题描述  小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算:  1) 个人所得税起征点为3500元,若S不超过3500,则不交税,3500元以上的部分才计算个人所得税,令A=S-3500元...
问题描述  在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。  给定一个整数序列,请找出这个整数序列的中间数的值。输入格式  输入的第一行包含了一个整数n,表示整数序列中数的个数...
问题描述  G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统。  建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成高速铁路。现在,请你为G国国王提供一个方案,将现有的一部分铁路改造成高速铁路,使得任何两个城市间都可以通过高速铁路到达,...
问题描述  《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下:   玩家会控制一些角色,每个角色有自己的生命值和攻击力...
问题描述  请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。  假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。  购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以...
问题描述  小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。输入格式  输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。  第二行包含n个正整数,依次表示每天的收...
问题描述  小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。  方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列,则小明过关。第一行...
问题描述  在操作系统中,数据通常以文件的形式存储在文件系统中。文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。文件有内容,用于存储数据。目录是容器,可包含文件或其他目录。同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录。  为了指定文件系统中的...
问题描述  俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏。  游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块。每一轮,都会有一个新的由4个小方块组成的板块从方格图的上方落下,玩家可以操作板块左右移动放到合适的位置,当板块中某一个方块的下边缘与方格图上的...
问题描述  给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。    给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少...
问题描述  为了增加公司收入,F公司新开设了物流业务。由于F公司在业界的良好口碑,物流业务一开通即受到了消费者的欢迎,物流业务马上遍及了城市的每条街道。然而,F公司现在只安排了小明一个人负责所有街道的服务。  任务虽然繁重,但是小明有足够的信心,他拿到了城市的地图,准备研究最好的方案。城市中有n个交叉路口,m条街...
问题描述  用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。    本题要求编程实现一个用 ASCII 字符来画图的程序,支持以下两种操作:  Ÿ 画线:给出两个端点的坐标,画一条连接这两个端点的线段。简便起见...
问题描述  消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。  现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个...
问题描述  给定一个十进制整数n,输出n的各位数字之和。输入格式  输入一个整数n。输出格式  输出一个整数,表示答案。样例输入  20151220样例输出  13样例说明  20151220的各位数字之和为2+0+1+5+1+2+2+0=13。评测用例规模与约定  所有评测用例满足:0 ≤ n ≤ 100000...
问题描述  某国有n个城市,为了使得城市间的交通更便利,该国国王打算在城市之间修一些高速公路,由于经费限制,国王打算第一阶段先在部分城市之间修一些单向的高速公路。  现在,大臣们帮国王拟了一个修高速公路的计划。看了计划后,国王发现,有些城市之间可以通过高速公路直接(不经过其他城市)或间接(经过一个或多个其他城市)...
问题描述  请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。  假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。  购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以...
问题描述  小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。输入格式  输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。  第二行包含n个正整数,依次表示每天的收...
问题描述  成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的。例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是    而当用户为 Jerry 时,网页的源代码是    这样的例子在包含动态内容的网站中还有很多。为了简化生成网页的工作,成成觉得他...
问题描述  给定一个年份y和一个整数d,问这一年的第d天是几月几日?  注意闰年的2月有29天。满足下面条件之一的是闰年:  1) 年份是4的整数倍,而且不是100的整数倍;  2) 年份是400的整数倍。输入格式  输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。 ...
问题描述  给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式  输入的第一行包含一个整数n,表示数列中整数的个数。  第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式  输出一个整数,表示给定的数列有多个段。样例输入  8  ...
问题描述  给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机、交换机与电脑之间使用网络连接。交换机按层级设置,编号为1的交换机为根交换机,层级为1。其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加1。所有的终端电脑都直接连接到交换机上。  当信息在电脑、交换机之间传递时...
问题描述  有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。  现在,给你a,b,c和y1, y2(1850 ≤ y1, y2 ≤ 2050),希望你输出从公元y1年到公元y2年间的每年的a月的第b个星期c的日期。  提示:关于闰年的规则:年份...
问题描述  给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式  输入的第一行包含一个整数n,表示给定数字的个数。  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式  输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序...
问题描述  旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。  计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式  输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。  接下来n行每行包含m个整数,表示输入的图像。输出格式  输...
问题描述  雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉。  为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利用部分麦田作为“中转站”,利用水渠连接不同的麦田,这样只要一片麦田能被灌溉,则与其连接的麦田也能被灌溉。  现在雷雷知道哪些麦田...
问题描述  某股票交易所请你编写一个程序,根据开盘前客户提交的订单来确定某特定股票的开盘价和开盘成交量。  该程序的输入由很多行构成,每一行为一条记录,记录可能有以下几种:  1. buy p s 表示一个购买股票的买单,每手出价为p,购买股数为s。  2. sell p s 表示一个出售股票的卖单,每手出价为p...
问题描述  在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示:    对于下面的4×4的矩阵,  1 5 3 9  3 7 5 6  9 4 6 4  7 3 1 3  对其进行Z字形扫描后得到长度为16的序列:  1 5 3 ...
问题描述  涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。输入格式  输入的第一行包含一个整数n,表示涛涛的记录条数。  第二行包含n个整数,依次表示涛涛的记录中每位读者的编号。输出格式  输出...
问题描述  栋栋最近开了一家餐饮连锁店,提供外卖服务。随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题。  栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的位置上可能包含栋栋的分店(绿色标注)或者客户(蓝色标注),有一些格点是不能经过的(红色标注)。  方格图中的线...
问题描述  给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。输入格式  输入的第一行包含一个字符串S,由大小写英文字母组成。  第二行包含一个数字,表示大小...
问题描述  在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。  下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,...
问题描述  给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式  输入的第一行包含一个整数n,表示给定整数的个数。  第二行包含所给定的n个整数。输出格式  输出一个整数,表示值正好相差1的数对的个数。样例输入  6  10 2 6 3 7 8样例输出  3样例说明  值正好相差1的数对包括...
问题描述  目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上。任何两个无线路由器只要距离不超过 r 就能互相建立网络连接。  除此以外,另有 m 个可以摆放无线路由器的位置。你可以在这些位置中选择至多 k 个增设新的路由器。  你的目标是使得第 1 个路由器和第 2 个路由器之间的网...
问题描述  请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项。每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔。这些字符串中的第一个为该命令行工具的名字,由小写字母组成,你的程序不用对它进行处理。在工具名字之后可能会包含若干选项,然后可能会包含一 些不是选项的参数。  选项有两类:带参数的选项...
问题描述  在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。  当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶...
问题描述  有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。输入格式  第一行包含一个正整数 N。(1 ≤ N ≤ 500)。  第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。输出格式  只输出一个整数,即这 N...
  最近要写一个功能类似于Linux下“ls -lR”命令的小程序,熟悉Linux的朋友应该知道,这个命令的功能就是显示指令目录下文件及子目录的信息,会递归地把子目录下面的文件等信息显示出来。当然,它的功能对本篇文章的主题来说无关紧要。我们知道,为了方便观察(看上去酷炫),ls命令的结果中对特定属性的文件会有特别...
  斐波那契数列中每个数都是其两个直接前项的和,其生成规则如下所示:.指数算法  要求斐波那契数列的第n项值一种简单的方法就是使用递归 function fib(n)if n=0: return 0;if n=1: return 1;return fib(n-1)+fib(n-2);  但是使用递归来计算第n项...
  计算机系统中运行着大量的程序,这些程序可以分为两大类:管理程序和用户程序。管理程序负责管理和分配系统资源,为用户提供服务;而用户程序运行时,所需的资源必须向操作系统必须向操作系统基础请求,不能随意的去用系统资源。现代操作系统根据处理机上执行的程序类型将处理机的状态分为两类:管态和目态。 管态 ...
  随着操作系统的发展,它的功能越来越强,自身的代码量也越来越大。这样,就越需要采用良好的组织结构来保证正确性以及自身的维护及扩展。一体化结构(Simple Monolithic Structure)  也叫单体结构。这种结构中,操作系统是一组过程的集合,每个过程都有定义好的接口,对硬件有直接的控制。MS-DOS...
问题:操作系统管理和控制着多个用户对计算机系统的软件、硬件资源的共享,多用户对系统资源的共享必然会引起资源竞争的问题。应用程序直接运行在操作系统上,操作系统之下的硬件可能是个人计算机或者服务器。但是,无论是个人计算机还是服务器,在同一时间里只能运行一个操作系统,可应用程序却希望并发运行,同时不相互干扰。针对这个问...
操作系统的功能  直接在计算机硬件上开发应用程序是一件及其困难而且繁杂的事情,但有了操作系统就不一样了。操作系统为应用程序和计算机硬件之间提供了交互的接口,使得用户可以更加方便、有效地使用计算机的资源。操作系统的功能或者说目标主要体现在一下三个方面: 用户/计算机接口  如下图所示,计算机系统为用户提供的硬件和...
  处理器执行的程序是由一组保存在存储器中的指令组成,最简单的描述,指令处理包括两个阶段:取指和执行。程序执行就是不断地重复这两步。当然,复杂情况下指令的执行还包括很多的步骤,这和指令自身有关系。如下图所示为简化的MIPS五段流水示意图,指令周期被分为取指、译码、执行、访存和写回五个阶段。有些指令需要经历所有的五...
  一个操作系统往往包括处理器、内存还有I/O等部件,每个部件又由一个或者多个组件组成。这些部件以某种方式互连,以实现计算机执行程序的主要功能。因此,计算机系统有如下四个主要结构化部件: 处理器控制计算机的操作、数据处理。当只有一个处理器时,通常被称为中央处理器(CPU) 主存存储数据和程序。通常为易失性,电...
  数据库技术是信息系统的核心和基础,是一种研究和管理数据的科学技术。四个基本概念 数据 描述事物的符号记录 数据库中存储的基本对象 这是一个很大的概念,其种类包括数字、字符串、文本、图像等等无穷无尽的内容 数据与其语义是不可分的,所谓的语义也就是元数据(描述数据...
Rolling Stone歌手: Passenger 专辑: WhispersSometimes I feel I’m going nowhere有时候,我感觉自己漫无目的地走着Sometimes I’m sure I never will有时候,我觉得自己永远找不到目的地She said it’s cau...
Gradle是一个基于Ant和Maven概念的项目自动化建构工具。它使用一种基于Groovy的语言DSL来声明项目设置,抛弃了基于XML的各种繁琐配置。使用gradle使得资源和代码的重用变得更加简单。安卓构建系统安卓构建系统是用来构建、测试、运行以及打包app的工具箱,它可以在as菜单里边作为一个集成的工具使用...
Qt5-msvc中文乱码现象: 在mignw版不会出现乱码问题 使用Qt设计师绘制的ui不会出现乱码问题 在msvc版字符串中出现中文时 如果字符串以中文字符结尾,编译会报格式错误如果字符串以英文字符结尾,编译会报出文件中有非unicode字符的警告 解决方法 文件编码设置如下...
1)在子类覆盖超类的方法时,子类方法不能低于超类方法的可见性,这是为了保证父类指针能引用子类的方法;2)java中,抽象类不能被实例化,但可以定义一个抽象类的对象变量,让它去引用非抽象子类的对象; 3)Java中用于控制可见性的4个访问修饰符: 仅对本类可见–private; 对所有类可见–public; ...
绿色线:接收数据橙色线:发送数据白色条纹:代表正极蓝色和棕色线:预留给将来扩展带宽(bandwidth),电线越多带宽越大。拓展知识 带宽是指单位时间内网络能够传输数据量的最大上限; 传输速率用来形容数据在网络中传输的快慢; CAT-5电缆的带宽是10/100Base-T。Base-T是以太网传输速率的标准...
特殊符号: 特殊符号 代表意义 [:alnum:] 代表英文大小写字符及数字,亦即0-9,A-Z,a-z [:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z ...
Intent是一种在不同组件之间传递的请求消息,是应用程序发出的请求和意图。
Activity1. 概念 一个Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,例如拨号、拍照、发送email、看地图。每一个activity被给予一个窗口,在上面可以绘制用户接口。窗口通常充满屏幕,但也可以小于屏幕而浮于其它窗口之上。 一个application通常包含各...
Intent是一种在不同组件之间传递的请求消息,是应用程序发出的请求和意图。
Activity1. 概念 一个Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务,例如拨号、拍照、发送email、看地图。每一个activity被给予一个窗口,在上面可以绘制用户接口。窗口通常充满屏幕,但也可以小于屏幕而浮于其它窗口之上。 一个application通常包含各...
  最近要写一个功能类似于Linux下“ls -lR”命令的小程序,熟悉Linux的朋友应该知道,这个命令的功能就是显示指令目录下文件及子目录的信息,会递归地把子目录下面的文件等信息显示出来。当然,它的功能对本篇文章的主题来说无关紧要。我们知道,为了方便观察(看上去酷炫),ls命令的结果中对特定属性的文件会有特别...
特殊符号: 特殊符号 代表意义 [:alnum:] 代表英文大小写字符及数字,亦即0-9,A-Z,a-z [:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z ...
绿色线:接收数据橙色线:发送数据白色条纹:代表正极蓝色和棕色线:预留给将来扩展带宽(bandwidth),电线越多带宽越大。拓展知识 带宽是指单位时间内网络能够传输数据量的最大上限; 传输速率用来形容数据在网络中传输的快慢; CAT-5电缆的带宽是10/100Base-T。Base-T是以太网传输速率的标准...
1)在子类覆盖超类的方法时,子类方法不能低于超类方法的可见性,这是为了保证父类指针能引用子类的方法;2)java中,抽象类不能被实例化,但可以定义一个抽象类的对象变量,让它去引用非抽象子类的对象; 3)Java中用于控制可见性的4个访问修饰符: 仅对本类可见–private; 对所有类可见–public; ...
Qt5-msvc中文乱码现象: 在mignw版不会出现乱码问题 使用Qt设计师绘制的ui不会出现乱码问题 在msvc版字符串中出现中文时 如果字符串以中文字符结尾,编译会报格式错误如果字符串以英文字符结尾,编译会报出文件中有非unicode字符的警告 解决方法 文件编码设置如下...
Gradle是一个基于Ant和Maven概念的项目自动化建构工具。它使用一种基于Groovy的语言DSL来声明项目设置,抛弃了基于XML的各种繁琐配置。使用gradle使得资源和代码的重用变得更加简单。安卓构建系统安卓构建系统是用来构建、测试、运行以及打包app的工具箱,它可以在as菜单里边作为一个集成的工具使用...
Rolling Stone歌手: Passenger 专辑: WhispersSometimes I feel I’m going nowhere有时候,我感觉自己漫无目的地走着Sometimes I’m sure I never will有时候,我觉得自己永远找不到目的地She said it’s cau...
  数据库技术是信息系统的核心和基础,是一种研究和管理数据的科学技术。四个基本概念 数据 描述事物的符号记录 数据库中存储的基本对象 这是一个很大的概念,其种类包括数字、字符串、文本、图像等等无穷无尽的内容 数据与其语义是不可分的,所谓的语义也就是元数据(描述数据...
  计算机系统中运行着大量的程序,这些程序可以分为两大类:管理程序和用户程序。管理程序负责管理和分配系统资源,为用户提供服务;而用户程序运行时,所需的资源必须向操作系统必须向操作系统基础请求,不能随意的去用系统资源。现代操作系统根据处理机上执行的程序类型将处理机的状态分为两类:管态和目态。 管态 ...
  随着操作系统的发展,它的功能越来越强,自身的代码量也越来越大。这样,就越需要采用良好的组织结构来保证正确性以及自身的维护及扩展。一体化结构(Simple Monolithic Structure)  也叫单体结构。这种结构中,操作系统是一组过程的集合,每个过程都有定义好的接口,对硬件有直接的控制。MS-DOS...
问题:操作系统管理和控制着多个用户对计算机系统的软件、硬件资源的共享,多用户对系统资源的共享必然会引起资源竞争的问题。应用程序直接运行在操作系统上,操作系统之下的硬件可能是个人计算机或者服务器。但是,无论是个人计算机还是服务器,在同一时间里只能运行一个操作系统,可应用程序却希望并发运行,同时不相互干扰。针对这个问...
操作系统的功能  直接在计算机硬件上开发应用程序是一件及其困难而且繁杂的事情,但有了操作系统就不一样了。操作系统为应用程序和计算机硬件之间提供了交互的接口,使得用户可以更加方便、有效地使用计算机的资源。操作系统的功能或者说目标主要体现在一下三个方面: 用户/计算机接口  如下图所示,计算机系统为用户提供的硬件和...
  处理器执行的程序是由一组保存在存储器中的指令组成,最简单的描述,指令处理包括两个阶段:取指和执行。程序执行就是不断地重复这两步。当然,复杂情况下指令的执行还包括很多的步骤,这和指令自身有关系。如下图所示为简化的MIPS五段流水示意图,指令周期被分为取指、译码、执行、访存和写回五个阶段。有些指令需要经历所有的五...
  一个操作系统往往包括处理器、内存还有I/O等部件,每个部件又由一个或者多个组件组成。这些部件以某种方式互连,以实现计算机执行程序的主要功能。因此,计算机系统有如下四个主要结构化部件: 处理器控制计算机的操作、数据处理。当只有一个处理器时,通常被称为中央处理器(CPU) 主存存储数据和程序。通常为易失性,电...
  斐波那契数列中每个数都是其两个直接前项的和,其生成规则如下所示:.指数算法  要求斐波那契数列的第n项值一种简单的方法就是使用递归 function fib(n)if n=0: return 0;if n=1: return 1;return fib(n-1)+fib(n-2);  但是使用递归来计算第n项...
问题描述  小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的...
问题描述  给定一段文字,已知单词a1, a2, …, an出现的频率分别t1, t2, …, tn。可以用01串给这些单词编码,即将每个单词与一个01串对应,使得任何一个单词的编码(对应的01串)不是另一个单词编码的前缀,这种编码称为前缀码。  使用前缀码编码一段文字是指将这段文字中的每个单词依次对应到其编码。...
问题描述  授权 (authorization) 是各类业务系统不可缺少的组成部分,系统用户通过授权机制获得系统中各个模块的操作权限。  本题中的授权机制是这样设计的:每位用户具有若干角色,每种角色具有若干权限。例如,用户 david 具有 manager 角色,manager 角色有 crm:2 权限,则用户 ...
问题描述  小明的公司每个月给小明发工资,而小明拿到的工资为交完个人所得税之后的工资。假设他一个月的税前工资(扣除五险一金后、未扣税前的工资)为S元,则他应交的个人所得税按如下公式计算:  1) 个人所得税起征点为3500元,若S不超过3500,则不交税,3500元以上的部分才计算个人所得税,令A=S-3500元...
问题描述  在一个整数序列a1, a2, …, an中,如果存在某个数,大于它的整数数量等于小于它的整数数量,则称其为中间数。在一个序列中,可能存在多个下标不相同的中间数,这些中间数的值是相同的。  给定一个整数序列,请找出这个整数序列的中间数的值。输入格式  输入的第一行包含了一个整数n,表示整数序列中数的个数...
问题描述  G国国王来中国参观后,被中国的高速铁路深深的震撼,决定为自己的国家也建设一个高速铁路系统。  建设高速铁路投入非常大,为了节约建设成本,G国国王决定不新建铁路,而是将已有的铁路改造成高速铁路。现在,请你为G国国王提供一个方案,将现有的一部分铁路改造成高速铁路,使得任何两个城市间都可以通过高速铁路到达,...
问题描述  《炉石传说:魔兽英雄传》(Hearthstone: Heroes of Warcraft,简称炉石传说)是暴雪娱乐开发的一款集换式卡牌游戏(如下图所示)。游戏在一个战斗棋盘上进行,由两名玩家轮流进行操作,本题所使用的炉石传说游戏的简化规则如下:   玩家会控制一些角色,每个角色有自己的生命值和攻击力...
问题描述  请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。  假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。  购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以...
问题描述  小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。输入格式  输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。  第二行包含n个正整数,依次表示每天的收...
问题描述  小明在玩一个电脑游戏,游戏在一个n×m的方格图上进行,小明控制的角色开始的时候站在第一行第一列,目标是前往第n行第m列。  方格图上有一些方格是始终安全的,有一些在一段时间是危险的,如果小明控制的角色到达一个方格的时候方格是危险的,则小明输掉了游戏,如果小明的角色到达了第n行第m列,则小明过关。第一行...
问题描述  在操作系统中,数据通常以文件的形式存储在文件系统中。文件系统一般采用层次化的组织形式,由目录(或者文件夹)和文件构成,形成一棵树的形状。文件有内容,用于存储数据。目录是容器,可包含文件或其他目录。同一个目录下的所有文件和目录的名字各不相同,不同目录下可以有名字相同的文件或目录。  为了指定文件系统中的...
问题描述  俄罗斯方块是俄罗斯人阿列克谢·帕基特诺夫发明的一款休闲游戏。  游戏在一个15行10列的方格图上进行,方格图上的每一个格子可能已经放置了方块,或者没有放置方块。每一轮,都会有一个新的由4个小方块组成的板块从方格图的上方落下,玩家可以操作板块左右移动放到合适的位置,当板块中某一个方块的下边缘与方格图上的...
问题描述  给定n个整数表示一个商店连续n天的销售量。如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点。其他的天都不是折点。如下图中,第3天和第6天是折点。    给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少...
问题描述  为了增加公司收入,F公司新开设了物流业务。由于F公司在业界的良好口碑,物流业务一开通即受到了消费者的欢迎,物流业务马上遍及了城市的每条街道。然而,F公司现在只安排了小明一个人负责所有街道的服务。  任务虽然繁重,但是小明有足够的信心,他拿到了城市的地图,准备研究最好的方案。城市中有n个交叉路口,m条街...
问题描述  用 ASCII 字符来画图是一件有趣的事情,并形成了一门被称为 ASCII Art 的艺术。例如,下图是用 ASCII 字符画出来的 CSPRO 字样。    本题要求编程实现一个用 ASCII 字符来画图的程序,支持以下两种操作:  Ÿ 画线:给出两个端点的坐标,画一条连接这两个端点的线段。简便起见...
问题描述  消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。  现在给你一个n行m列的棋盘,棋盘中的每一个方格上有一个...
问题描述  给定一个十进制整数n,输出n的各位数字之和。输入格式  输入一个整数n。输出格式  输出一个整数,表示答案。样例输入  20151220样例输出  13样例说明  20151220的各位数字之和为2+0+1+5+1+2+2+0=13。评测用例规模与约定  所有评测用例满足:0 ≤ n ≤ 100000...
问题描述  某国有n个城市,为了使得城市间的交通更便利,该国国王打算在城市之间修一些高速公路,由于经费限制,国王打算第一阶段先在部分城市之间修一些单向的高速公路。  现在,大臣们帮国王拟了一个修高速公路的计划。看了计划后,国王发现,有些城市之间可以通过高速公路直接(不经过其他城市)或间接(经过一个或多个其他城市)...
问题描述  请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。  假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。  购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以...
问题描述  小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。输入格式  输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。  第二行包含n个正整数,依次表示每天的收...
问题描述  成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的。例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是    而当用户为 Jerry 时,网页的源代码是    这样的例子在包含动态内容的网站中还有很多。为了简化生成网页的工作,成成觉得他...
问题描述  给定一个年份y和一个整数d,问这一年的第d天是几月几日?  注意闰年的2月有29天。满足下面条件之一的是闰年:  1) 年份是4的整数倍,而且不是100的整数倍;  2) 年份是400的整数倍。输入格式  输入的第一行包含一个整数y,表示年份,年份在1900到2015之间(包含1900和2015)。 ...
问题描述  给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列中共有多少段?输入格式  输入的第一行包含一个整数n,表示数列中整数的个数。  第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。输出格式  输出一个整数,表示给定的数列有多个段。样例输入  8  ...
问题描述  给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机、交换机与电脑之间使用网络连接。交换机按层级设置,编号为1的交换机为根交换机,层级为1。其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加1。所有的终端电脑都直接连接到交换机上。  当信息在电脑、交换机之间传递时...
问题描述  有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。  现在,给你a,b,c和y1, y2(1850 ≤ y1, y2 ≤ 2050),希望你输出从公元y1年到公元y2年间的每年的a月的第b个星期c的日期。  提示:关于闰年的规则:年份...
问题描述  给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。输入格式  输入的第一行包含一个整数n,表示给定数字的个数。  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。输出格式  输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序...
问题描述  旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。  计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。输入格式  输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。  接下来n行每行包含m个整数,表示输入的图像。输出格式  输...
问题描述  雷雷承包了很多片麦田,为了灌溉这些麦田,雷雷在第一个麦田挖了一口很深的水井,所有的麦田都从这口井来引水灌溉。  为了灌溉,雷雷需要建立一些水渠,以连接水井和麦田,雷雷也可以利用部分麦田作为“中转站”,利用水渠连接不同的麦田,这样只要一片麦田能被灌溉,则与其连接的麦田也能被灌溉。  现在雷雷知道哪些麦田...
问题描述  某股票交易所请你编写一个程序,根据开盘前客户提交的订单来确定某特定股票的开盘价和开盘成交量。  该程序的输入由很多行构成,每一行为一条记录,记录可能有以下几种:  1. buy p s 表示一个购买股票的买单,每手出价为p,购买股数为s。  2. sell p s 表示一个出售股票的卖单,每手出价为p...
问题描述  在图像编码的算法中,需要将一个给定的方形矩阵进行Z字形扫描(Zigzag Scan)。给定一个n×n的矩阵,Z字形扫描的过程如下图所示:    对于下面的4×4的矩阵,  1 5 3 9  3 7 5 6  9 4 6 4  7 3 1 3  对其进行Z字形扫描后得到长度为16的序列:  1 5 3 ...
问题描述  涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出读者的来访记录,请问每一条记录中的读者是第几次出现。输入格式  输入的第一行包含一个整数n,表示涛涛的记录条数。  第二行包含n个整数,依次表示涛涛的记录中每位读者的编号。输出格式  输出...
问题描述  栋栋最近开了一家餐饮连锁店,提供外卖服务。随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题。  栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的位置上可能包含栋栋的分店(绿色标注)或者客户(蓝色标注),有一些格点是不能经过的(红色标注)。  方格图中的线...
问题描述  给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写和小写看作不同的字符;当选项关闭时,表示同一个字母的大写和小写看作相同的字符。输入格式  输入的第一行包含一个字符串S,由大小写英文字母组成。  第二行包含一个数字,表示大小...
问题描述  在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。  下图给出了一个画了两个矩形的例子。第一个矩形是(1,1) 到(4, 4),用绿色和紫色表示。第二个矩形是(2, 3)到(6, 5),用蓝色和紫色表示。图中,...
问题描述  给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。输入格式  输入的第一行包含一个整数n,表示给定整数的个数。  第二行包含所给定的n个整数。输出格式  输出一个整数,表示值正好相差1的数对的个数。样例输入  6  10 2 6 3 7 8样例输出  3样例说明  值正好相差1的数对包括...
问题描述  目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上。任何两个无线路由器只要距离不超过 r 就能互相建立网络连接。  除此以外,另有 m 个可以摆放无线路由器的位置。你可以在这些位置中选择至多 k 个增设新的路由器。  你的目标是使得第 1 个路由器和第 2 个路由器之间的网...
问题描述  请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项。每个命令行由若干个字符串组成,它们之间恰好由一个空格分隔。这些字符串中的第一个为该命令行工具的名字,由小写字母组成,你的程序不用对它进行处理。在工具名字之后可能会包含若干选项,然后可能会包含一 些不是选项的参数。  选项有两类:带参数的选项...
问题描述  在某图形操作系统中,有 N 个窗口,每个窗口都是一个两边与坐标轴分别平行的矩形区域。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。  当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶...
问题描述  有 N 个非零且各不相同的整数。请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数)。输入格式  第一行包含一个正整数 N。(1 ≤ N ≤ 500)。  第二行为 N 个用单个空格隔开的非零整数,每个数的绝对值不超过1000,保证这些整数各不相同。输出格式  只输出一个整数,即这 N...
当TCP客户端同时处理多个IO,如标准输入和TCP socket,我们会遇到的问题就是客户端可能会阻塞在标准输入(如fget())上。这时,服务器虽然正确的给客户端发送了报文,但客户端进程正阻塞在fget()上。要解决这样的问题,我们需要一种机制,进程要有一种能预先告知内核的能力,让内核一旦发现进程指定的一个或者...