FZU Monthly-201905 tutorial

题目(难度递增) easy easy-medium medium medium-hard hard
思维难度 AB H DG CE F

A. Chess

一道模拟题,很多人做不出来的原因是没有看懂题意。

题意重述:

  1. 商店中给出了一个LV1棋子出现的顺序序列,我们需要按照这个序列来购买所有的棋子。
  2. 我们最多可以存下16个棋子,每个棋子有一个种类,当有3个相同的棋子的时候,棋子就会升级,3个LV1变成LV2、3个LV2变成LV3.
  3. 当一种棋到达LV3时,就会被卖掉,之后商店中给出的所有该种棋子将会被略过。
  4. 当16个位置占满时,每次购买新棋子之前,我们要卖掉一个旧棋子。卖掉旧棋子的规则是:分析16个位置上所有棋子中,数量最少的是哪一种;如果有多种都是最少,就选择编号最小的那一种。随后卖掉一个被选中的那种棋子,优先卖出LV1棋子。统计某一种类棋子有多少个的时候,LV2棋子算是3个。

写法很多, 用map和priority_queue会比较简短一点。

B. Triangle

先说结论: 答案是最大和次大值的和。

简单的证明: 我们考虑把四个正三角形放到一个大的正三角形中,贪心地考虑的话,必然是有三个三角形紧贴大三角形的三个角,剩余的一个尖角朝下放在中间。
那么我们考虑最大的三角形放在什么位置。
如果最大的三角形被放置在中间,那么答案至少为2倍的最大三角形边长,否则放不下。在这种情况下,剩下的三个三角形必定能够被放到对应的位置。
如果最大的三角形被放置在某一个角上,我们继续考虑次大的三角形的位置。以此类推可以得出,答案是最大和次大三角形的边长和。

G. high

因为答案跟k的大小具有同样的递增关系,于是可以按照k的大小从大到小计算答案。对原数组离散化,然后从大到小将元素合并进并查集,过程中计算区间数量即可

H. longest-pattern

对S串跑kmp建next数组,把T串在next数组上跑最长匹配,匹配到的最长的除以S的长度即为答案。

负责人的致歉

对于这次月赛出现了一些问题,我感到十分的抱歉。

主要问题出现在H题上,由于H题的出题人没有严格手构数据卡掉一些不应该通过的算法,导致很多假算法都成功地通过了H题。本质问题还是本次月赛的时间安排略微仓促,恰逢省赛占用了一部分时间,导致验题时间安排不足,数据强度不够。

另外A的题面也存在一定问题。我在出A题时的考虑是根据某款游戏出一道相类似的简单模拟题,但是由于规则比较复杂,在题意的描述上出现了一定的纰漏,造成后续部分选手阅读题面存在困难。更主要的是,玩过这一款游戏的人,对于题意的理解会更偏向于正确的理解。 这一点从出题人的角度上看,就会忽略掉一些细节没有在题意中正确地表述;在做题人的角度上,就会造成一定程度的不公平。对此我感到十分的抱歉,今后会尽可能避免这一类型题目的出现。

FZU Monthly-201905 tutorial的更多相关文章

  1. FZU Monthly-201903 tutorial

    FZU Monthly-201903 tutorial 题目(难度递增) easy easy-medium medium medium-hard hard 思维难度 ABF G CH D E A. D ...

  2. FZU Monthly-201901 tutorial

    FZU Monthly-201901 tutorial 题目(难度递增) easy easy-medium medium medium-hard hard 思维难度 AHG F B CE D 编码难度 ...

  3. FZU Monthly-201909 tutorial

    FZU Monthly-201909 tutorial 题目(难度递增) easy easy-medium medium medium-hard hard 思维难度 AB CD EF G H A. I ...

  4. FZU Monthly-201906 tutorial

    FZU Monthly-201906 tutorial 题目(难度递增) easy easy-medium medium medium-hard hard 思维难度 AE B DG CF H A. X ...

  5. Microsoft Azure Tutorial: Build your first movie inventory web app with just a few lines of code

    Editor’s Note: The following is a guest post from Mustafa Mahmutović, a Microsoft Student Partner wh ...

  6. Career Planning:Developers Best Practices Tutorial

    This small tutorial is based on my past 16+ years of experience in software development industry. I ...

  7. [翻译+山寨]Hangfire Highlighter Tutorial

    前言 Hangfire是一个开源且商业免费使用的工具函数库.可以让你非常容易地在ASP.NET应用(也可以不在ASP.NET应用)中执行多种类型的后台任务,而无需自行定制开发和管理基于Windows ...

  8. Monthly Income Report – August 2016

    原文链接:https://marcoschwartz.com/monthly-income-report-august-2016/ Every month, I publish a report of ...

  9. Django 1.7 Tutorial 学习笔记

    官方教程在这里 : Here 写在前面的废话:)) 以前学习新东西,第一想到的是找本入门教程,按照书上做一遍.现在看了各种网上的入门教程后,我觉得还是看官方Tutorial靠谱.书的弊端一说一大推 本 ...

随机推荐

  1. MybatisGenerator生成SSM的dao层

    官网下载 mybatis generator 下载generator的release版本mybatis-generator-core-1.4.0-bundle.zip https://github.c ...

  2. 5 dex文件

    Dex文件中数据结构 类型 含义 u1 等同于uint8_t,表示1字节无符号数 u2 等同于uint16_t,表示2字节的无符号数 u4 等同于uint32_t,表示4字节的无符号数 u8 等同于u ...

  3. 怎么解决前端线上Bug

    有一种八阿哥(Bug),叫"在我电脑上是好的呀". 有一种解决方式,叫"你去好好排查一下你自己的代码". 有一种控诉,叫"这绝不是后端的问题" ...

  4. HBase的部署与其它相关组件(Hive和Phoenix)的集成

    HBase的部署与其它相关组件(Hive和Phoenix)的集成 一.HBase部署 1.1.Zookeeper正常部署 首先保证Zookeeper集群的正常部署,并启动之: /opt/module/ ...

  5. Java开发环境之Gradle

    查看更多Java开发环境配置,请点击<Java开发环境配置大全> 拾伍章:Gradle安装教程 1)下载Gradle安装包 官网下载:https://gradle.org/releases ...

  6. win10 + Ubuntu18.04 双系统,UEFI+GPT,从win10切换到Ubuntu时黑屏问题

    1.现象: ①win10主系统,从win10重启,立即黑屏,之后会进入Ubuntu(还是黑屏)(为什么会知道进入了Ubuntu:按音量键可以听到Ubuntu音量加减的系统声音,数字锁定和大小写锁定均有 ...

  7. 联想ideapad-330C 在Ubuntu18.04 上安装Realtek 8821CE无线网卡驱动

    在新买的联想ideapad-330C笔记本上,安装Ubuntu 18.04后,悲催的发现,没有无线网络,幸好有线还能用,然后网上搜一波,发现不少人遇到这种问题,也有人给出解决方案 参考的链接: Thi ...

  8. 性能测试基础---LR运行设置

    ·LR的运行时设置(Runtime settings): ·Run Logic:该选项是用来控制脚本的真正的运行逻辑. ·该选项会把脚本中的函数分别放入三个运行模块中:Init.Run.End ·默认 ...

  9. Vuex状态数据源state

    (1)单一状态树 Vuex 使用单一状态,用一个对象就包含了全部的应用层级状态.至此它便作为一个“唯一数据源 (SSOT)”而存在.这也意味着,每个应用将仅仅包含一个 store 实例. 单一状态树让 ...

  10. 第六篇 -- LINQ to XML

    一.LINQ to XML常用成员 LINQ to XML的成员, 属性列表: 属性 说明 Document 获取此 XObject 的 XDocument  EmptySequence  获取空的元 ...