摘要:
"传送门" 分析: 单调队列:维护两个递增、递减的队列,每次都加入新元素并更新,如果最大值(递减队首) 最小值(递增队首) k,那么将最左段更新为前面两者中较前的那一个,并弹掉。用deque可以很方便的实现双向的队列。 code 阅读全文
摘要:
"传送门" 分析: 虽然颜色种类很多,但是所有颜色个数之和n是一定的,这时候就可以使用vector对每个颜色维护一个坐标集合,空间只占n个。 对于查询L,R:直接一行: 对于修改: 1. 两种颜色相同,不管。 2. 两种颜色不同:由于刚开始向每种颜色集合中加入坐标时,坐标是升序加入的,假设交换的是X 阅读全文
摘要:
题意: 最近西雅图的高中校园里流行这样一个游戏。 我们有一个骰子,这个骰子有M个面,分别写着1..M,并且是个公平的骰子,换句话说,一次投掷时每个面朝上的概率是相同的。 游戏的组织者使用这个骰子进行N次投掷,并且告诉玩家点数v出现了至少一次。那么玩家需要猜测N次投掷的点数之和。如果猜对了,就赢得了这 阅读全文
摘要:
题意: 如果一个字符串等于s和t的长度之和($l \le 50$),并且可以拆成两个字符串子序列,分别与s和t相同,那么它就是s和t的一个并字符串(从字符串中选出若干个可以不连续的字符按照原序列写出来形成的新字符串)。定义趣味串为s和t的并字符串的任意一个回文子串,求所有趣味串的长度最大值。 分析: 阅读全文
摘要:
题意: 各一个n($\le 20000$)的序列,定义纯洁序列为长度len满足$L \le len \le R$的序列,纯洁值为某一纯洁序列的平局值,输出所有纯洁序列中最大平均值。 分析: 二分 + 单调队列:二分出平均值mid, 下面来判断该平均值是否符合加大L的要求: $$mid = \frac 阅读全文