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. 网络编程之网络架构及其演变过程、互联网与互联网的组成、OSI七层协议、socket抽象层

    目录 网络架构及其演变过程 单机架构 CS架构 BS架构 BS架构和CS架构的区别 C/S架构的优缺点: B/S架构的优缺点: 互联网与互联网的组成 互联网的组成(教科书版) 互联网的组成(科普版) ...

  2. EnumSet详细讲解

    https://blog.csdn.net/tugangkai/article/details/89631886 之前介绍的Set接口的实现类HashSet/TreeSet,它们内部都是用对应的Has ...

  3. iframe中操作主体页面的元素,方法

    在不使用三大框架的情况下,iframe的使用可以做到在页面中直接引入别的页面作为当前页面的一部分,但是在iframe的使用过程中存在一些相互之间的操作 例如在iframe中获取主页面的元素,使用主页面 ...

  4. iOS之Category关联属性

    Objective-C /** 原文件 */ // Person.h #import <Foundation/Foundation.h> @interface Person : NSObj ...

  5. java学习(2):类和对象

     一.类 类可以看成是创建对象的模板,它描述一类对象的行为和状态.创建对象也叫类的实例化.类必须先定义才能使用. 通过下面一个简单的类来理解下Java中类的定义: public class Dog { ...

  6. Docker 0x07: Docke 容器网络

    目录 Docke 容器网络 Container Network Model (CNM) 具体项目中代码对象有哪些 Implementations实现的网络(直接英文版) Libnetwork incl ...

  7. 数据分组统计函数族——apply族用法与心得

    笔者寄语:apply族功能强大,实用,可以代替很多循环语句,R语言中不要轻易使用循环语句. 原文链接: https://blog.csdn.net/sinat_26917383/article/det ...

  8. 性能测试基础---联机负载&IP欺骗

    ·联机负载&IP欺骗 ·联机负载:又叫分布式负载,即通过多台负载机(压力机)运行脚本,向服务器发送请求,从而实现更多的负载压力. ·联机负载的具体操作: ·了解两个概念: ·控制机:所谓控制机 ...

  9. 性能测试基础---LR关联

    ·什么时候需要做关联?一般来说,在脚本运行出错的时候,我们就可能需要进行关联处理. ·脚本出错分为两种情况: ·直接回放出错(失败).通常来说,如果录制成功,回放失败,排除数据的唯一性约束之后,那就必 ...

  10. 安全组与网络ACL

    通过配置网络ACL和安全组策略,保障VPC内的弹性云服务器安全使用. 安全组对弹性云服务器进行防护:设置不同安全组访问规则实现系统访问控制 网络ACL对子网进行防护:可实现网络区域访问控制