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. php curl 转为 x-www-form-urlencoded 方式的坑

    网上转变的方法基本都是写添加下面这句: curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-fo ...

  2. python之路第三天

    2018年 7月 13 日 while循环语句: 输出1-5的数 s = 1 whlie s < 6: print(s) 用while循环输入 1 2 3 4 5 6  8 9 10 while ...

  3. git设置本地账户

    问题描述: git很方便,git本地如果记住账户信息 问题解决: vscode Git 全局设置: git config --global user.name "mvpbang" ...

  4. OSPF 多区域配置

    通过配置OSPF协议使网络互通. 实验拓扑 如图所示连接,地址规划如下: 名称 接口 IP地址 R1 f1/0 192.168.10.1/24 R1 f0/0 192.168.20.1/24 R1 f ...

  5. Lnmp环境安装禅道项目管理软件

    1.本地环境 CentOS Linux release 7.5.1804 (Core) PHP 7.1.0-dev (cli) mysql Ver 14.14 Distrib 5.7.22 nginx ...

  6. 【爬虫】Condition版的生产者和消费者模式

    Condition版的生产者和消费者模式 threading.Condition 在没有数据的时候处于阻塞状态,有数据可以使用notify的函数通知等等待状态的线程运作 threading.Condi ...

  7. 【VNCserver】Centos7.4安装VNC连接华为云或亚马逊云

    1.1 文档背景 CentOS 7 / RHEL 7部署图形化界面 安装VNCserver实现linux系统云主机桌面化,通过普通用户实现桌面化操作 2.  Vncserver服务端部署 2.1 安装 ...

  8. JAVA线程池的创建与使用

    为什么要用线程池? 我们都知道,每一次创建一个线程,JVM后面的工作包括:为线程建立虚拟机栈.本地方法栈.程序计数器的内存空间(下图可看出),所以线程过多容易导致内存空间溢出.同时,当频繁的创建和销毁 ...

  9. 实战 MySQL 8.0.17 Clone Plugin(转)

    背景 很神奇,5.7.17 和 8.0.17,连续两个17小版本都让人眼前一亮.前者加入了组复制(Group Replication)功能,后者加入了克隆插件(Clone Plugin)功能.今天我们 ...

  10. TKey SSO 单点登录系统介绍

    Introduction TKey = Token Key 以 OAuth 2.0 标准为接口设计原则的单点登录系统(SSO) 初衷: 做国内各种登录场景的配件,以完善的学习资料为主核心竞争力 纯粹的 ...