排名系统通常要应付三种请求:上传一条新的得分记录、查询某个玩家的当前排名以及返回某个区段内的排名记录。当某个玩家上传自己最新的得分记录时,他原有的得分记录会被删除。为了减轻服务器负担,在返回某个区段内的排名记录时,最多返回 条记录。对于得分相同的,上传时间早的排名高。
「HAOI2008」移动玩具 - 状态压缩 + BFS
在一个 的方框内摆放了若干个相同的玩具,要将这些玩具重新摆放成为理想的状态,规定移动时只能将玩具向上下左右四个方向移动,并且移动到的位置不能有玩具,求最小移动次数。
「HAOI2007」分割矩阵 - 搜索
将一个 的数字矩阵进行如下分割:将原矩阵沿某一条直线分割成两个矩阵,再将生成的两个矩阵继续如此分割(当然也可以只分割其中的一个),这样分割了 次后,原矩阵被分割成了 个矩阵。(每次分割都只能沿着数字间的缝隙进行)原矩阵中每一位置上有一个分值,一个矩阵的总分为其所含各位置上分值之和。现在需要把矩阵按上述规则分割成 个矩阵,并使各矩阵总分的均方差最小。请编程对给出的矩阵及 ,求出均方差的最小值。
「HAOI2007」上升序列 - DP + 贪心
对于一个给定的 ,若有 ,满足 且 ,那么就称 为 的一个上升序列。如果有多个 满足条件,那么我们想求字典序最小的那个。
任务给出 序列,给出若干询问。对于第 个询问,求出长度为 的上升序列,如有多个,求出下标字典序最小的那个。
「NOIP2016」愤怒的小鸟 - 状态压缩 + BFS
Kiana 最近沉迷于一款神奇的游戏无法自拔。
简单来说,这款游戏是在一个平面上进行的。
有一架弹弓位于 处,每次 Kiana 可以用它向第一象限发射一只红色的小鸟,小鸟们的飞行轨迹均为形如 的曲线,其中 , 是 Kiana 指定的参数,且必须满足 。
当小鸟落回地面(即 轴)时,它就会瞬间消失。
在游戏的某个关卡里,平面的第一象限中有 只绿色的小猪,其中第 只小猪所在的坐标为 。
如果某只小鸟的飞行轨迹经过了,那么第 只小猪就会被消灭掉,同时小鸟将会沿着原先的轨迹继续飞行;
如果一只小鸟的飞行轨迹没有经过,那么这只小鸟飞行的全过程就不会对第 只小猪产生任何影响。
例如,若两只小猪分别位于 和 ,Kiana 可以选择发射一只飞行轨迹为 的小鸟,这样两只小猪就会被这只小鸟一起消灭。
而这个游戏的目的,就是通过发射小鸟消灭所有的小猪。
这款神奇游戏的每个关卡对 Kiana 来说都很难,所以 Kiana 还输入了一些神秘的指令,使得自己能更轻松地完成这个游戏。这些指令将在「输入格式」中详述。
假设这款游戏一共有 个关卡,现在 Kiana 想知道,对于每一个关卡,至少需要发射多少只小鸟才能消灭所有的小猪。由于她不会算,所以希望由你告诉她。
「NOIP2016」蚯蚓 - 队列
本题中,我们将用符号 表示对 向下取整,例如:。
蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓。
蛐蛐国里现在共有 只蚯蚓( 为正整数)。每只蚯蚓拥有长度,我们设第 只蚯蚓的长度为 (),并保证所有的长度都是非负整数(即:可能存在长度为 的蚯蚓)。
每一秒,神刀手会在所有的蚯蚓中,准确地找到最长的那一只(如有多个则任选一个)将其切成两半。神刀手切开蚯蚓的位置由常数 (是满足 的有理数)决定,设这只蚯蚓长度为 ,神刀手会将其切成两只长度分别为 和 的蚯蚓。特殊地,如果这两个数的其中一个等于 ,则这个长度为 的蚯蚓也会被保留。此外,除了刚刚产生的两只新蚯蚓,其余蚯蚓的长度都会增加 (是一个非负整常数)。
蛐蛐国王知道这样不是长久之计,因为蚯蚓不仅会越来越多,还会越来越长。蛐蛐国王决定求助于一位有着洪荒之力的神秘人物,但是救兵还需要 秒才能到来 ……( 为非负整数)
蛐蛐国王希望知道这 秒内的战况。具体来说,他希望知道:
- 秒内,每一秒被切断的蚯蚓被切断前的长度(有 个数);
- 秒后,所有蚯蚓的长度(有 个数)。
蛐蛐国王当然知道怎么做啦!但是他想考考你 ……