不知从何时开始,对元旦这种重要节日的概念,开始变得越来越浅 —— 从童年时的日思夜想,到如今,已经不再有什么期待,而只是当做一个平常的周末了。除了多放一天假之外,也便没有多么特殊了。但这总归是一年的结束,新一年的开始,这一年的回忆,大多数都在前半年高三的生活中,那时候便想,自己的故事一定要写给大家看,而现在看来,那些回忆也不过只有寥寥数言,但终究还是要在淡忘之前将他们记录下来,作为人生的一个阶段留下的记号罢。于是,便有了这些文字。
「NOI2010」超级钢琴 - 可持久化线段树 + 堆
给一个长度为 的序列 ,定义一个区间 的价值为这个区间中数的总和。求区间长度在 之间的所有区间中,价值最大 的个区间的价值总和。
「NOIP 模拟赛」Azuki loves chess - 数论
在一个无穷大的中国象棋棋盘上,马每次可以在一个方向上移动一个单位,在另一个方向上移动两个单位。现将规则改为,马每次可以在一个方向上移动 个单位,在另一个方向上移动 个单位。问放置在 的马能否移动到 。
「Codeforces 808G」Anthem of Berland - KMP + DP
给一个含有字母以及 ?
的 串和一个含有字母的 串,其中 ?
可以匹配任何字符,求 串最多匹配 串多少次。
「APIO2013」TOLL - 搜索 + 最小生成树
幸福国度可以用 个城镇(用 到 编号)构成的集合来描述,这些城镇最开始由 条双向道路(用 到 编号)连接。城镇 是中央城镇。保证一个人从城镇 出发,经过这些道路,可以到达其他的任何一个城市。这些道路都是收费道路,道路 的使用者必须向道路的主人支付 分钱的费用。已知所有的这些 是互不相等的。最近有 条新道路建成,这些道路都属于亿万富豪 Mr. Greedy。
Mr. Greedy 可以决定每条新道路的费用(费用可以相同),并且他必须在明天宣布这些费用。
两周以后,幸福国度将举办一个盛况空前的嘉年华!大量的参与者将沿着这些道路游行并前往中央城镇。共计 个参与者将从城镇 出发前往中央城镇。这些人只会沿着一个选出的道路集合前行,并且这些选出的道路将在这件事的前一天公布。根据一个古老的习俗,这些道路将由幸福国度中最有钱的人选出,也就是 Mr. Greedy。同样根据这个习俗,Mr. Greedy 选出的这个道路集合必须使所有选出道路的费用之和最小,并且仍要保证任何人可以从城镇 前往城镇 (因此,这些选出的道路来自将费用作为相应边边权的“最小生成树”)。如果有多个这样的道路集合,Mr. Greedy 可以选其中的任何一个,只要满足费用和是最小的。
Mr. Greedy 很明确地知道,他从 条新道路中获得的收入不只是与费用有关。一条道路的收入等于所有经过这条路的人的花费之和。更准确地讲,如果 个人经过道路 ,道路 产生的收入为乘积 。注意 Mr. Greedy 只能从新道路收取费用,因为原来的道路都不属于他。
Mr. Greedy 有一个阴谋。他计划通过操纵费用和道路的选择来最大化他的收入。他希望指定每条新道路的费用(将在明天公布),并且选择嘉年华用的道路(将在嘉年华的前一天公布),使得他在 条新道路的收入最大。注意 Mr. Greedy 仍然需要遵循选出花费之和最小的道路集合的习俗。
你是一个记者,你想揭露他的计划。为了做成这件事,你必须先写一个程序来确定 Mr. Greedy 可以通过他的阴谋获取多少收入。
「APIO2014」Split the sequence - 斜率优化 DP
你正在玩一个关于长度为 的非负整数序列的游戏。这个游戏中你需要把序列分成 个非空的块。为了得到 块,你需要重复下面的操作 次:
- 选择一个有超过一个元素的块(初始时你只有一块,即整个序列)
- 选择两个相邻元素把这个块从中间分开,得到两个非空的块。
每次操作后你将获得那两个新产生的块的元素和的乘积的分数。你想要最大化最后的总得分。
「CTSC2012」Cheat - SAM + 二分 + 单调队列 DP
给出 个串组成的「标准作文库」。对于任意一个串,如果它的长度不少于 且在标准作文库中出现过,则它是「熟悉」的。对于任意一个串,如果能将它划分为若干个串,使「熟悉」的串的长度超过总长度的 ,则称这个串是「熟悉的文章」,定义 为使这个串成为「熟悉的文章」的最大的 。给出若干个串,求每个串的 值。