FZU Monthly-201905 tutorial
FZU Monthly-201905 tutorial
| 题目(难度递增) | easy | easy-medium | medium | medium-hard | hard |
|---|---|---|---|---|---|
| 思维难度 | AB | H | DG | CE | F |
A. Chess
一道模拟题,很多人做不出来的原因是没有看懂题意。
题意重述:
- 商店中给出了一个LV1棋子出现的顺序序列,我们需要按照这个序列来购买所有的棋子。
- 我们最多可以存下16个棋子,每个棋子有一个种类,当有3个相同的棋子的时候,棋子就会升级,3个LV1变成LV2、3个LV2变成LV3.
- 当一种棋到达LV3时,就会被卖掉,之后商店中给出的所有该种棋子将会被略过。
- 当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的更多相关文章
- FZU Monthly-201903 tutorial
FZU Monthly-201903 tutorial 题目(难度递增) easy easy-medium medium medium-hard hard 思维难度 ABF G CH D E A. D ...
- FZU Monthly-201901 tutorial
FZU Monthly-201901 tutorial 题目(难度递增) easy easy-medium medium medium-hard hard 思维难度 AHG F B CE D 编码难度 ...
- FZU Monthly-201909 tutorial
FZU Monthly-201909 tutorial 题目(难度递增) easy easy-medium medium medium-hard hard 思维难度 AB CD EF G H A. I ...
- FZU Monthly-201906 tutorial
FZU Monthly-201906 tutorial 题目(难度递增) easy easy-medium medium medium-hard hard 思维难度 AE B DG CF H A. X ...
- 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 ...
- Career Planning:Developers Best Practices Tutorial
This small tutorial is based on my past 16+ years of experience in software development industry. I ...
- [翻译+山寨]Hangfire Highlighter Tutorial
前言 Hangfire是一个开源且商业免费使用的工具函数库.可以让你非常容易地在ASP.NET应用(也可以不在ASP.NET应用)中执行多种类型的后台任务,而无需自行定制开发和管理基于Windows ...
- Monthly Income Report – August 2016
原文链接:https://marcoschwartz.com/monthly-income-report-august-2016/ Every month, I publish a report of ...
- Django 1.7 Tutorial 学习笔记
官方教程在这里 : Here 写在前面的废话:)) 以前学习新东西,第一想到的是找本入门教程,按照书上做一遍.现在看了各种网上的入门教程后,我觉得还是看官方Tutorial靠谱.书的弊端一说一大推 本 ...
随机推荐
- php curl 转为 x-www-form-urlencoded 方式的坑
网上转变的方法基本都是写添加下面这句: curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-fo ...
- 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 ...
- git设置本地账户
问题描述: git很方便,git本地如果记住账户信息 问题解决: vscode Git 全局设置: git config --global user.name "mvpbang" ...
- OSPF 多区域配置
通过配置OSPF协议使网络互通. 实验拓扑 如图所示连接,地址规划如下: 名称 接口 IP地址 R1 f1/0 192.168.10.1/24 R1 f0/0 192.168.20.1/24 R1 f ...
- Lnmp环境安装禅道项目管理软件
1.本地环境 CentOS Linux release 7.5.1804 (Core) PHP 7.1.0-dev (cli) mysql Ver 14.14 Distrib 5.7.22 nginx ...
- 【爬虫】Condition版的生产者和消费者模式
Condition版的生产者和消费者模式 threading.Condition 在没有数据的时候处于阻塞状态,有数据可以使用notify的函数通知等等待状态的线程运作 threading.Condi ...
- 【VNCserver】Centos7.4安装VNC连接华为云或亚马逊云
1.1 文档背景 CentOS 7 / RHEL 7部署图形化界面 安装VNCserver实现linux系统云主机桌面化,通过普通用户实现桌面化操作 2. Vncserver服务端部署 2.1 安装 ...
- JAVA线程池的创建与使用
为什么要用线程池? 我们都知道,每一次创建一个线程,JVM后面的工作包括:为线程建立虚拟机栈.本地方法栈.程序计数器的内存空间(下图可看出),所以线程过多容易导致内存空间溢出.同时,当频繁的创建和销毁 ...
- 实战 MySQL 8.0.17 Clone Plugin(转)
背景 很神奇,5.7.17 和 8.0.17,连续两个17小版本都让人眼前一亮.前者加入了组复制(Group Replication)功能,后者加入了克隆插件(Clone Plugin)功能.今天我们 ...
- TKey SSO 单点登录系统介绍
Introduction TKey = Token Key 以 OAuth 2.0 标准为接口设计原则的单点登录系统(SSO) 初衷: 做国内各种登录场景的配件,以完善的学习资料为主核心竞争力 纯粹的 ...