第二十六届全国信息学奥林匹克竞赛.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第届全国信息学奥林匹克竞赛:00-13:00 题目名称 变换序列 诗人小G 二叉查找树 目录 transform poet treapmod 可执行文件名 transform poet treapmod 输入文件名 transform.in poet.in treapmod.in 输出文件名 transform.out poet.out treapmod.out 每个测试点时限 1秒 30 秒 1 秒 测试点数目 10 10 10 每个测试点分值 10 10 10 是否有部分分 无 有 无 题目类型 传统 传统 传统 提交源程序须加后缀 对于Pascal语言 transform.pas poet.pas treapmod.pas 对于C 语言 transform.c poet.c treapmod.c 对于C++ 语言 transform.cpp poet.cpp treapmod.cpp 注意:最终测试时,所有编译命令均不打开任何优化开关 变换序列 【问题描述】 对于N个整数01, ……, N-1,一个变换序列T可以将i变成Ti,其中且。,定义x和y之间的距离。给定每个i和Ti之间的距离D(i,Ti),你需要求出一个满足要求的变换序列T。如果有多个满足条件的序列,输出其中字典序最小的一个。 :对于两个变换序列S和T,如果,对于i=0,1,……p-1,Si=Ti且SpTp,我们称S比T字典序小 【输入文件】 输入文件的第一行包含一个整数N,表示序列的长度。接下来的一行包含N个整数Di,其中Di表示i和Ti之间的距离。 【输出文件】 如果存在一个满足要求的变换序列T,则输出文件中包含一行N个整数,表示你计算得到的字典序最小的T;否则输出”No Answer”。注意:输出文件中相邻两个数之间用一个空格分开,行末不多余空格 【输入样例】 5 1 1 2 2 1 【输出样例】 1 2 4 0 3 【数据规模和约定】 0%的数据中N≤50; 60%的数据中N≤500; 100%的数据中N≤0000。 诗人小G 【问题描述】 【输入文件】 ‘-’)。 【输出文件】 【输入样例】 4 4 9 3 brysj, hhrhl. yqqlm, gsycl. 4 9 2 brysj, hhrhl. yqqlm, gsycl. 1 1005 6 poet 1 1004 6 poet 【输出样例】 108 brysj, hhrhl. yqqlm, gsycl. -------------------- 32 brysj, hhrhl. yqqlm, gsycl. -------------------- Too hard to arrange -------------------- 1000000000000000000 poet -------------------- 【】 【评分方法】 本题有部分分, 【数据规模和约定】 测试点 T N L P 1 ≤10 ≤18 ≤100 ≤5 2 ≤10 ≤2000 ≤60000 ≤10 3 ≤10 ≤2000 ≤60000 ≤10 4 ≤5 ≤100000 ≤200 ≤10 5 ≤5 ≤100000 ≤200 ≤10 6 ≤5 ≤100000 ≤3000000 2 7 ≤5 ≤100000 ≤3000000 2 8 ≤5 ≤100000 ≤3000000 ≤10 9 ≤5 ≤100000 ≤3000000 ≤10 10 ≤5 ≤100000 ≤3000000 ≤10 所有测试点中均满足句子长度不超过30。 二叉查找树 【问题描述】 已知一棵特殊的二叉查找树。根据定义,该二叉查找树中每个结点的数据值都比它左结点的数据值大,而比它右结点的数据值小。 另一方面,这棵查找树中每个结点都有一个权值,每个结点的权值都比它的儿子结点的权值要小。 已知树中所有结点的数据值各不相同;所有结点的权值也各不相同。这时可得出这样一个有趣的结论:如果能够确定树中每个结点的数据值和权值,那么树的形态便可以唯一确定。因为这样的一棵树可以看成是按照权值从小到大顺序插入结点所得到的、按照数据值排序的二叉查找树。 一个结点在树中的深度定义为它树的根结点的深度为1。 每个结点除了数据值和权值以外,还有一个访问频度。我们定义一个结点在树中的访问代价为它的访问频度乘以它在树中的深度。整棵树的访问代价定义为所有结点在树中的访问代价之和。 现在给定每个结点的数据值、权值和访问频度,你可以根据需要修改某些结点的权值,但每次修改你会付出K的额外修改代价。你可以把结点的权值改为任何实数,但是修改后所有结点的权值必须仍保持互不相同。现在你要解决的问题是,整棵树的访问代价额外

文档评论(0)

hshh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档