TYVJ8月月赛提高组难度官方题解.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TYVJ8月月赛提高组难度官方题解

TYVJ 八月月赛提高组题解 1.括号匹配 解 时间复杂度:O(NL) 法 预期得分:100 一 这道题是一道非常简单的栈结构题目。模拟一个栈,每次操作会改变的只有栈顶 : 元素,后括号弹栈,前括号入栈,如果遇到弹栈时候栈顶的前括号与当前的后括号不 模 匹配,就输出 FALSE ;此外,如果栈空时要执行出栈操作,或括号序列遍历完成后栈 拟 不空,也应输出FALSE 。否则输出TRUE 。下面说一下细节: 1.括号深度和出现次数。处理方案很多了…标程是在栈的 push 函数中,记录栈顶 的最大值和出现次数。 2.通配符。可以把#@?*!分别等效为 2 个、4 个、8 个’/’和’\’, ’/’和’\’可以匹配 任意一个方向相反的括号。 3.常数。原本想卡常数,可 TYVJ 速度太快根本卡不住。标程测试点5 用 Cena 测 得 950ms,在TYVJ 上变成了 278ms 2. 冗余电网 解 时间复杂度:O(Mlog M) 法 预期得分:100 一 最小生成树。Kruskal 计算最小生成树,然后统计并查集中树的个数,若多于 1, : 则图不连通,统计输出无电可用村庄的个数,否则输出最少需要电线的长度。 最 注意:.输出数据要使用 int64 ,否则 80 分; 小 生 成 树 3.黄金矿工 解 时间复杂度:O(N^4)~O(N^6) 法 预期得分:30~70 一 直接搜索,最暴力的裸搜大概会到O(N^6),优化一下可以到 O(N^4) 。 : 没有优化的 DP 大概也是 O(N^4),同样70 分。 搜 索 解 时间复杂度:O(N^3) 法 预期得分:100 二 本题实际上就是求最大子矩阵。其中,TNT 的权值为-∞。 : 注意细节:-∞不要太小,否则会下溢出。(其实数据中还真没有…) 本题解仅保证方案的可行性,不保证方案的最优性 TYVJ 八月月赛提高组题解 动 1.预处理 sum[i][j]:前 i 行,第j 列的和 态 2.DP,主要步骤见下: 规 for i=1→n 划 for j=i →n x=sum[j][1]-sum[i-1][1] max=x,f[i][j]=max for k=2 →n x=sum[j][k]-sum[i-1][k] if(xmax+x)max=max+x else max=x if(f[i][j]max)f[i][j]=max 最后说一点,不要忘记减去租金 10 元。据我所知,有神牛中弹了。 4.密码双锁 解 时间复杂度:O(N) 或 O(log N) 法 预期得分:60 或 100 (假设不存在子锁二) 一: 这实际上是个分形,可以直接找规律倍增构造序列。本方案是递推的,时间复杂 构 度较大,但可以改成递归,以减小时间复杂度。构造方法见附录一。 子 造 锁 解 时间复杂度:O(log N) 一 法 预期得分:100 (假设不存在子锁二) 二: 本题还可以从二进制角度考虑。通过观察可以发现:Ai 是(i-1)的二进制串中 1 的 二 个数,Bi 是(i-1)二进制串中把 0 去掉后构成的新二进制数转化的十进制数,这样 进 可以 O(log N)秒杀。注意输出数据要使用unsigned __int64 ,否则70 分。

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档