提高组——ceoi97_99【信息技术】.pptVIP

  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文档。上传文档
查看更多
CEOI97~99 刘汝佳 CEOI 97 HEX 在16进制数中,把所有最多8位且不包含重复数字的数从小到大排列: FEDCBA98, FEDCBA97, … 求第n大的数. n保证不超过满足条件的数的个数 INT 区间[a,b] (ab)表示从a开始到b结束的连续整数集合. 给出n个区间, 在里面选出尽量少的数, 使得每个区间至少被选出了两个不同的数 1=n=10000 0=ab=10000 DOM n个domino(上下各有0~6个点)排成一排, 最少翻转多少个使得上下总点数之差尽量少 n=1000 样例: 翻转第4个 RIV 从左岸借助一些pole用最少的时间到达右岸. 每个pole的状态是周期的, 第0秒在水面下, 然后a秒在水面上,b秒在水面下,接着a秒在水面上, 又接着b个单位时间在水面下… 每个时间可以在原地或走最多5个pole. 比如在pole 5时一步可达左岸或者pole 1~10. 5n=1000,1=a,b=5, 无解输出NO SHO r*c的棋盘, 每列恰好两个白格, 其余r-2个为黑色. 每列选一个白格, 使得每行都有白格被选中 2=r=c=100 CEOI 98 Squares 在第一象限中有n个边平行与坐标轴的正方形, 两两没有公共点 从原点O(0,0)能看到多少个? 一个正方形能被看见当且仅当某边上存在两个不同的点A, B,使得三角形OAB与其他正方形没有公共点 1=n=1000 1=X,Y,L=10000 Cards 编号为1~n的牌排成一行, 每次double shuffle的让位置i上的牌变为a[a[i]]. 例如25413?53124?41532 给s次操作后的排列, 求初始. 1=s,n=1000 Subtract 给一个序列,反复执行con操作后最后得到一个给定的数T 1=N=100, -10000=T=10000 1=ai=100 Soldiers 无限大的平面网格中有n个士兵, 每次每人可以往东南西北方向之一行走, 最后站成一行且占领一些连续的列. 最后任两人在不同的方格中, 但移动过程不受此限制 1=n=10000 -10000=xi,yi=10000 Roads N个结点R条边的有向图, 求总费用不超过K的前提下1到N的最短路 边长Li, 费用为Ti 0=K=10000 2=N=100 1=R=10000 1=L=100 0=T=100 Balls 有12个正五边形纸片, 每条边上写着{0,1,2}的一个数字. 把它们贴到正12面体上, 要求重合边上的两个数字相同. 每个纸片恰好使用一次, 只能旋转不能翻转 Balls 输入中每个五边形的第一条边为参考边 输出(ti,ni)表示面i处放输入中的第ti个五边形, 且它的参考边放在面i和面ni的公共边处 (注意多边形只能旋转, 因此只有5种放置方案) 无解输出-1 CEOI 99 Orders 算法 算法1 统计每个字母的频率+按字典序递归枚举 思考: 如何避免不必要的枚举? 算法2 排序+求”后继排列” Phone Phone 算法 动态规划. d[i]表示前i位最少组成的单词数 d[i]=min{d[j]}+1, s[j+1…i]组成一个单词 方法一: 枚举所有ji, 判断s[j+1…i]是否为一个单词, 单词转化为数字后维护串集合 方法二: 处理字典, 记录每个单词可以出现的位置. 用w[j,i]表示能与s[j+1…i]匹配的单词编号(如果有多个,只需保留一个). 把单词转化为数字后用KMP即可 细节 如何输出解? 如何输出字典序最小的解? 如何降低空间需求? 如果字典固定, 但数字串有多个, 如何处理? Parity 题目大意: 有一个长度为n的01串. 给出m条信息,求出最大的k使得存在一个01串同时满足前k条信息 n=109,m=5000 算法 用布尔数s[i]表示前i个数是否包含奇数个1. s[0]=false, 则s存在当且仅当原序列存在 (i,j,odd)?s[j]-s[i-1]=true (I,j,even)?s[j]-s[i-1]=false 方法一: 每个集合保存一个对立集合代表元素, 合并时注意空集合的处理 方法二: 在并查集上加权 方法一 已知同奇偶的s放在一个集合中 一些成对集合和一些孤立集合 每个集合的代表元保存对立集合中的代表元 方法一 (续) 要点 没有使用启发式合并, 效率会受到影响么? 如果要保证最优的时间复杂度, 应如何书写? n很大, 但m很小,如何处理? 表格里共有8种情况,可以简化么? 如何实现方法二? Trip 给n个点m条边的正权无向图, 求出长度最小的简单回路(至少有三条边). n=100, m=10000, 每条边长不超过50. 可以有重边,但是不会有自环 无解输

文档评论(0)

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

1亿VIP精品文档

相关文档