noi99-2【信息技术】.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十六届全国青少年信息学(计算机)奥林匹克竞赛 (NOI’99) 第二试试题 · 试题说明 试题 名称 分值 可执行 文件名 输入 文件名 输出 文件名 试题文本页数 棋盘分割 50 Chess.exe Input.txt Output.txt 2 最优连通子集 50 Subset.exe Input.txt Output.txt 2 内存分配 50 Memory.exe Input.txt Output.txt 2  · 竞赛时间:8:00—12:00 棋盘分割 Chessboard Division Chess.{pas|bas|c} Chess.exe  将一个8×8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘。(每次切割都只能沿着棋盘格子的边进行) 允许的分割方案 不允许的分割方案 原棋盘上每一格有一个分值,一块矩形棋盘的总分为其所含各格分值之和。现在需要把棋盘按上述规则分割成n块矩形棋盘,并使各矩形棋盘总分的均方差最小。 均方差 ,其中平均值 xi为第i块矩形棋盘的分。 请编程对给出的棋盘及n,求出的最小值。 输入 第1行为一个整数n(1 n 15)。 第2行至第9行每行为8个小于100的非负整数,表示棋盘上相应格子的分值。每行相邻两数之间用一个空格分隔。 输出 仅一个数,为 (四舍五入精确到小数点后三位)。 样例输入 3 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 3 样例输出 1.633 最优连通子集 Optimal Connected Subset Subset.{pas|bas|c} Subset.exe 众所周知,我们可以通过直角坐标系把平面上的任何一个点P用一个有序数对(x,y)来唯一表示,如果x,y都是整数,我们就把点P称为整点,否则点P称为非整点。我们把平面上所有整点构成的集合记为W。 定义1 两个整点P1(x1,y1),P2(x2,y2),若|x1-x2|+|y1-y2|=1,则称P1,P2相邻,记作P1~P2,否则称P1,P2不相邻。 定义 2 设点集S是W的一个有限子集,即S={P1,P2,…,Pn}(n =1),其中Pi(1 =i =n)属于W,我们把S称为整点集。 定义 3 设S是一个整点集,若点R,T属于S,且存在一个有限的点序列Q1,Q2,…,Qk满足: Qi属于S(1 =i =k); Q1=R,Qk= T; Qi~Qi+1(1 =i =k-1),即Qi与Qi+1相邻; 对于任何1 =i j =k有Qi≠Qj; 我们则称点R与点T在整点集S上连通,把点序列Q1,Q2,…,Qk称为整点集S中连接点R与点T的一条道路。 定义4 若整点集V满足:对于V中的任何两个整点,V中有且仅有一条连接这两点的道路,则V称为单整点集。 定义5 对于平面上的每一个整点,我们可以赋予它一个整数,作为该点的权,于是我们把一个整点集中所有点的权的总和称为该整点集的权和。 我们希望对于给定的一个单整点集V,求出一个V的最优连通子集B,满足: B是V的子集 对于B中的任何两个整点,在B中连通; B是满足条件(1)和(2)的所有整点集中权和最大的。 输入 第1行是一个整数N,表示单整点集V中点的个数; 以下N行中,第i行(1 =i =N)有三个整数,Xi,Yi,Ci依次表示第i个点的横坐标,纵坐标和权。同一行相邻两数之间用一个空格分隔。 输出 仅一个整数,表示所求最优连通集的权和。 样例输入 5 0 0 –2 0 1 1 1 0 1 0 –1 1 -1 0 1 样例输出 2 参数约定 2 =N =1000 -10^6 =Xi,Yi =10^6 -100 =Ci =100 内存分配 Memory Distribution Memory.{pas|bas|c} Memory.exe 内存是计算机重要的资源之一,程序运行的过程中必须对内存进行分配。 经典的内存分配过程是这样进行的: 内存以内存单元为基本单位,每个内存单元用一个固定的整数作为标识,称为地址。地址从0开始连续排列,地址相邻的内存单元被认为是逻辑上连续的。我们把从地址i开始的s个连续的内存单元称为首地址为i长度为s的地址片。 运行过程中有若干进程需要占用内存,对于每个进程有一个申请时刻T,需要内存单元数M及运行时间P。在运行时间P内(即T时刻开始,T+P时刻结束),这M个被占用的内存

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档