Menci's OI Blog

念念不忘,必有回响


  • 首页

  • 关于

  • 归档

  • 标签

  • 友链

  • 搜索

「HAOI2008」排名系统 - map + Splay

发表于 2016-12-13 | 分类于 OI

排名系统通常要应付三种请求:上传一条新的得分记录、查询某个玩家的当前排名以及返回某个区段内的排名记录。当某个玩家上传自己最新的得分记录时,他原有的得分记录会被删除。为了减轻服务器负担,在返回某个区段内的排名记录时,最多返回 条记录。对于得分相同的,上传时间早的排名高。

阅读全文 »

「HAOI2008」移动玩具 - 状态压缩 + BFS

发表于 2016-12-13 | 分类于 OI

在一个 的方框内摆放了若干个相同的玩具,要将这些玩具重新摆放成为理想的状态,规定移动时只能将玩具向上下左右四个方向移动,并且移动到的位置不能有玩具,求最小移动次数。

阅读全文 »

「HAOI2007」反素数 - 搜索

发表于 2016-12-13 | 分类于 OI

对于任何正整数 ,其约数的个数记作 ,例如 、。如果某个正整数 对于任何 都满足 ,则称 为反质数。

给定一个数 ,求最大的不超过 的反质数。

阅读全文 »

「HAOI2007」覆盖问题 - 二分答案 + 枚举

发表于 2016-12-13 | 分类于 OI

用三个 的正方形覆盖一些点,使最大正方形的边长最小。

阅读全文 »

「HAOI2006」数字序列 - DP

发表于 2016-12-07 | 分类于 OI

现在我们有一个长度为 的整数序列 。我们希望把它变成一个单调严格上升的序列。但是不希望改变过多的数,也不希望改变的幅度太大。

阅读全文 »

「HAOI2007」分割矩阵 - 搜索

发表于 2016-12-05 | 分类于 OI

将一个 的数字矩阵进行如下分割:将原矩阵沿某一条直线分割成两个矩阵,再将生成的两个矩阵继续如此分割(当然也可以只分割其中的一个),这样分割了 次后,原矩阵被分割成了 个矩阵。(每次分割都只能沿着数字间的缝隙进行)原矩阵中每一位置上有一个分值,一个矩阵的总分为其所含各位置上分值之和。现在需要把矩阵按上述规则分割成 个矩阵,并使各矩阵总分的均方差最小。请编程对给出的矩阵及 ,求出均方差的最小值。

阅读全文 »

「HAOI2007」理想的正方形 - 单调队列

发表于 2016-12-02 | 分类于 OI

有一个 的整数组成的矩阵,现请你从中找出一个 的正方形区域,使得该区域所有数中的最大值和最小值的差最小。

阅读全文 »

「HAOI2007」上升序列 - DP + 贪心

发表于 2016-12-01 | 分类于 OI

对于一个给定的 ,若有 ,满足 且 ,那么就称 为 的一个上升序列。如果有多个 满足条件,那么我们想求字典序最小的那个。

任务给出 序列,给出若干询问。对于第 个询问,求出长度为 的上升序列,如有多个,求出下标字典序最小的那个。

阅读全文 »

「NOIP2016」愤怒的小鸟 - 状态压缩 + BFS

发表于 2016-11-29 | 分类于 OI

Kiana 最近沉迷于一款神奇的游戏无法自拔。

简单来说,这款游戏是在一个平面上进行的。

有一架弹弓位于 处,每次 Kiana 可以用它向第一象限发射一只红色的小鸟,小鸟们的飞行轨迹均为形如 的曲线,其中 , 是 Kiana 指定的参数,且必须满足 。

当小鸟落回地面(即 轴)时,它就会瞬间消失。

在游戏的某个关卡里,平面的第一象限中有 只绿色的小猪,其中第 只小猪所在的坐标为 。

如果某只小鸟的飞行轨迹经过了,那么第 只小猪就会被消灭掉,同时小鸟将会沿着原先的轨迹继续飞行;

如果一只小鸟的飞行轨迹没有经过,那么这只小鸟飞行的全过程就不会对第 只小猪产生任何影响。

例如,若两只小猪分别位于 和 ,Kiana 可以选择发射一只飞行轨迹为 的小鸟,这样两只小猪就会被这只小鸟一起消灭。

而这个游戏的目的,就是通过发射小鸟消灭所有的小猪。

这款神奇游戏的每个关卡对 Kiana 来说都很难,所以 Kiana 还输入了一些神秘的指令,使得自己能更轻松地完成这个游戏。这些指令将在「输入格式」中详述。

假设这款游戏一共有 个关卡,现在 Kiana 想知道,对于每一个关卡,至少需要发射多少只小鸟才能消灭所有的小猪。由于她不会算,所以希望由你告诉她。

阅读全文 »

「NOIP2016」蚯蚓 - 队列

发表于 2016-11-29 | 分类于 OI

本题中,我们将用符号 表示对 向下取整,例如:。

蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓。

蛐蛐国里现在共有 只蚯蚓( 为正整数)。每只蚯蚓拥有长度,我们设第 只蚯蚓的长度为 (),并保证所有的长度都是非负整数(即:可能存在长度为 的蚯蚓)。

每一秒,神刀手会在所有的蚯蚓中,准确地找到最长的那一只(如有多个则任选一个)将其切成两半。神刀手切开蚯蚓的位置由常数 (是满足 的有理数)决定,设这只蚯蚓长度为 ,神刀手会将其切成两只长度分别为 和 的蚯蚓。特殊地,如果这两个数的其中一个等于 ,则这个长度为 的蚯蚓也会被保留。此外,除了刚刚产生的两只新蚯蚓,其余蚯蚓的长度都会增加 (是一个非负整常数)。

蛐蛐国王知道这样不是长久之计,因为蚯蚓不仅会越来越多,还会越来越长。蛐蛐国王决定求助于一位有着洪荒之力的神秘人物,但是救兵还需要 秒才能到来 ……( 为非负整数)

蛐蛐国王希望知道这 秒内的战况。具体来说,他希望知道:

  • 秒内,每一秒被切断的蚯蚓被切断前的长度(有 个数);
  • 秒后,所有蚯蚓的长度(有 个数)。

蛐蛐国王当然知道怎么做啦!但是他想考考你 ……

阅读全文 »
1…789…36
Menci

Menci

357 日志
3 分类
225 标签
GitHub QQ RSS E-Mail
© 2015 — 2022 Menci
自豪地运行于 Azure 云平台 | 由 Upyun 提供 CDN 服务
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.2