国家集训队作业飞coci解题报告.pdf

国家集训队作业飞coci解题报告.pdf

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、本文档付费后,不意味着付费购买了版权,只能用于单位或个人使用,不得用于商业用途(如:【转卖】进行直接盈利和【编辑后售卖】进行间接盈利)。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:18428362892(电话支持时间:9:00-19:00)。
序言 COCI 是Croatian Open Competition In Informatics (克罗地亚信息学公开赛)的简称,官 方网站为 。每年会举办包括 (克罗地亚信息学奥林匹克竞赛)之内的8 场比赛。除了COI 以外,其他7 场的形式都是3 个小时解决6 道题目。题目难度由容易到 较难,题目的分值依照难度从30 分到130 分不等。我个人认为题目质量还是相当高的,考 察的知识点一般都是信息学竞赛中常用的,不像某些比赛有考察很偏的内容。其中不乏非常 好的题目。 我希望有更多的中国选手能够了解这一比赛,所以写了这一份解题报告,相信对中国的 选手还是会有帮助的。由于时间关系,太简单的题目就略去了。 在写这篇解题报告的时候2009~2010 年度的比赛只进行完了6 场,所以这篇报告仅包含 前6 场的内容。 2 目录 序言 2 Contest1 4 MALI 4 GENIJALAC 4 ALADIN 5 Contest2 7 VUK 7 POSLOZI 7 PASIJANS 8 Contest3 9 RAZGOVORI 9 PATULJCI 9 PLANETE 10 Contest4 11 IKS 11 OGRADA 11 KABOOM 12 PALACINKE 14 Contest5 15 ZUMA 15 PROGRAM 15 CHUCK 16 Contest6 17 XOR 17 HOLMES 18 GREMLINI 18 3 Contest1 Contest1 MALI 有N 轮,每轮给出两个数A 和B ,然后你需要把至今为止的所有A 和所有B 配对,使 得和最大的一对和最小,回答这个和。 数据规模:N≤100000 , A , B≤100 我们很容易得到一个贪心的算法:把最小的A 和最大的B 配对,第二小的A 和第二大 的B 配对……最大的A 和最小的B 配对。但是这样单次的时间复杂度会是O() ,无法满足 要求。 解题的关键在于一个条件,所有A 和B 不超过100。利用这个条件,我们维护列表LA , LAi 表示大小为i 的A 有多少个,同理定义LB 。这样在得到新的A ,B 时,我们可以(1)的将 其插入。在回答询问时,我们只需维护两个指针p 和q ,设LAp 和LBq 的较小者为T,将两 者都减去T,得到T 对(LAp ,LBq ),然后继续移动两个指针即可。 ( ) 时间复杂度O(× + ) 。 GENIJALAC 给你一个 1 到N 的排列,这也是第0 次洗牌的结果。然后还有一个洗牌序列Q,洗牌 机会每次会把当前序列P 置换成这样一个序列C:Ci = PQi 。求第A 次到第B 次洗牌结果中, 满足对于洗牌结果 W,W = i (C≤i≤D )的洗牌结果数。 i 12 数据规模:C, D≤N≤500000,A , B≤10 。 ( )( ) 我们首先把洗牌序列Q 拆成若干置换圈。比如序列1,6,2,5,4,3拆成 1 2,6,3 (4,5)。将每 次洗牌的结果也用置换圈的形式表示出来。可以发现,对于每个长度为l 的置换圈,在经过 l 次洗牌后置换圈中的所有数的值都与它的下标相等。对于多个置换圈的情况,

您可能关注的文档

文档评论(0)

159****9610

相关文档

相关课程推荐