计划
计划一年内(截止 2021 年 1 月 1 日)把 SGU 500 刷完,形式以所有题目给出翻译后的简要题意和解题思路概要。
题目
153 Playing with matches
题意 有
分析 当
154 Factorial
题意 求最小自然数
分析 尾数 0 只与
上述公式具有非递减性质,因此可以二分计算最小自然数
155 Cartesian Tree
题意 给定
分析 Cartisian Tree 模板题。
156 Strange Graph
题意 给
- 所有点的度数
。 - 当
时,与 相邻的两个点不相连。 - 当
时,存在点 ,满足: ; 。其中, 表示与 相邻的点集。
数据保证无重边和自环。
判断该图是否存在哈密顿回路,不存在时输出 -1;否则输出一种方案。
分析
当
将点集
而度数均为 2 的图,只可能是多个环。因此剩余问题仅需判断新图是否联通即可。
157 Patience
题意 纸牌接龙游戏,A~K(共 13 张牌)放置到 14
个格子中,其中一个为空格且 A 固定到第 1 个格子中。在前
移牌规则为:当空格左侧为
分析 最后局面为
A23...JQK_,反向构造合法序列即可。注意正向移牌时,
158 Commuter Train
题意 有长为
第 1 个站点位置
分析 在确定
距离和函数改变点在于其中一个乘客的最近站点变化。由于乘客的最近站点随
159 Self-Replicating Numbers
题意 在
分析 爆搜。
160 Magic Multiplying Machine
题意 给
分析 背包问题。
161
题意
分析
162 Pyramids
题意 给定四面体各边(AB, AC, AD, BC, BD, CD)长度,求体积。
分析 建个坐标系,强算各个点坐标。
163 Wise King
题意 给
分析 模拟。
164 Airlines
题意 有
分析
根据抽屉原理,至少有一座城市所有航线关联的公司为
165 Basketball
题意 有
分析 将所有球员的身高 - 2,将球员身高分成负数和正数。从最小负数(或最大正数)开始取,根据前缀和的正负取异号身高的球员即可。由于球员身高限定在 [1.95, 2.05] 之间,因此不会违反限定条件。
166
题意
分析
167 I-country
题意 给
分析 最后占领的形状为菱形,使用 dp
解决上半部分(三角形):
168 Matrix
题意 给定
169 Numbers
题意 定义
分析 显然的事实是
170 Particles
题意 有两个 5000 长度的 +- 序列,每次操作可以交换相邻的 +- 粒子。求最少操作次数将序列 1 转变为序列 2。
分析 (猜测)按序匹配 -/+,计算其距离之和即可。
171 Sarov zones
题意 有
分析 先选权重大的选手,选取最大
172 eXam
题意
分析 二分图染色。
173
题意
分析
174 Walls
题意 给定
分析 并查集。
175 Encoding
题意 假设有字符串
先给定
分析 判断
176 Flow construction
题意 有
分析 有源汇上下界最小流。
177 Square
题意 给
分析 扫描线+线段树;bitset。
178 Golden chain
题意 给长为
分析 假设最终切出 k 个 1 长度金条,那么将剩下的 N -
k 长度视为完整的金条,允许切 k 刀划分成 k + 1 段。前 k 天直接支付 1
长度即可。第 k + 1 天切出 k + 1 长度金条,找零 k 个 1 长度从而k + 2 ~ 2k
+ 1 天继续每天支付 1 长度。第 2k + 2 天切出 2k + 2
长度金条,兑换出之前支付的金条又开始循环(假设切不出 2k + 2
长度,那么也能找出类似的策略来满足每天 1 长度的支付)。因此切 k
次的最多能满足
179 Brackets light
题意 给长为 10000 合法的括号序列(仅包含 '(' 和 ')',并且字典序 '(' < ')'),求下一个字典序的合法括号序列。
分析 从后往前找第一个能 '(' 转为 ')' 的位置,之后尽量填 '(' 来保证中间不会有更小字典序且满足题意的括号序列。尽量的意思就是在该位置填 '(' 后仍有足够的位置放置 ')',这个可以通过前缀和思想解决。
180 Inversions
题意
分析 。
181 X-Sequence
题意 。
分析 找循环节。
182 Open the brackets
题意 给由 10 个变量组成的布尔表达式,运算符包括:!, (), ||, &, <=>, =>, #,变量名从 ‘a’ 到 'j' 共 10 个。要求去掉括号 () 运算符的等价布尔表达式,字符数量小于 32768。
分析 10 个布尔变量的组合数为 2^10 = 1024 种,仅使用 !, ||, & 来枚举所有情况的字符数不会超过 32768:使用 || 拼接不同组合,数量为 2 * 2^10 = 2048;! 的数量为 10 * 2^9 = 5120;& 组合 10 个变量的数量为 9 * 2^10 = 9216,变量名的数量为 10 * 2^10 = 10240。
183 Painting the balls
题意 初始有
分析
状态转移方程为
185 Two shortest
题意 给
分析 最小费用流。
187 Twist and whirl - want to cheat
题意 (splay 模板题)
188 Factory guard
题意 有
分析 可以求顺时针和逆时针第一次碰面的时间,之后再相遇的时间是固定的。
todo 数据范围能否变大?
190 Dominoes
题意
分析 相邻格子的 x+y 奇偶性不同,因此原问题可以转变为二分图的最大匹配。
192 RGB
题意 给 300 条线段,每条线段的颜色为 RGB 三种中的一种,任意两条线段至多一个交点。将线段投影到 X 轴,每段投影的颜色为离 X 轴最近线段的颜色。求投影后每种颜色的长度之和。
分析 求出所有交点后划分投影线段区间,每段区间取中点并判断中点所在线段的颜色。
193 Chinese Girls' Amusement
题意 有
分析 假设经过
假设
当
综上,
PS:上述结论可通过小数据打表辅助观察得到。
194 Reactor Cooling
题意 。
分析 无源汇上下界最大流。
195 New Year Bonus Grant
题意 有
分析 树形 dp,每名员工根据是否分配了拨款划分成两个状态,分别记录最大拨款值即可。
196 Matrix Multiplication
题意 。
分析 模拟。
197 Nice Patterns Strike Back
题意 对长
分析 按行染色,显然就是矩阵 + 快速幂,对于
198 Get Out!
题意 给平面上
分析 将每个岛屿的半径增加 剩下的问题转化为判断一个点是否被多边形包围。
199 Beautiful People
题意 一个俱乐部中有
分析 按
200 Cracking RSA
题意 给
分析
201 Non Absorbing DFA
题意 给一个
分析 大数模拟。
202 The Towers of Hanoi Revisited
题意
分析 三塔汉诺塔推广,先将
203 Hyperhuffman
题意 给
分析 由于
204 Little Jumper
题意
分析
205 Quantization Problem
题意 给
分析
206
207
208 Toral Tickets
题意 给
分析 当其中一条边为 1 时,本质上是项链染色问题。在本题背景下,仅需要多考虑一个方向上的旋转,但是不方便直接计算每个置换的循环数(polya 计数)。本题矩形大小较小,因此可以模拟计算每个置换的循环数。
标签 Polya
209 Areas
题意 给平面上
分析 (未代码验证)直线交求出交点坐标,处理出各个交点的相邻交点。有限面积区域都是凸包,利用这个性质可以处理所有的有限面积区域。判重可以利用连续 3 个点 index 来区分。
TAG Geometry
210 Beloved Sons
题意 有
分析 KM 算法。
TAG KM
211 Strange Counter
题意 实现特殊二进制的累加器,特殊处在于每位能存 [0,
2] 之间的 3 个数。进行
分析 (未代码验证)模拟,过程中如果发生连续进位,在修改位数超过 4 时,不再进位。当加法没有发生进位时,在处理之前的遗留进位。
212 Data Transmission
题意
分析
TAG Network-flow
213 Strong Defence
题意 给
分析
214 Weird Dissimilarity
题意 给 200 大小的字符集
分析 最长公共子序列。
215 PL/Cool
题意 表达式解析以及计算。
分析
216 Royal Federation
题意 给
分析 (理论)不断将树的大小二分,即找重心。
217 Two Cylinders
题意 给三维空间中无限长的两个圆柱体,半径分别为
分析
218 Unstable Systems
题意 有
分析 (理论)二分最大值,求解二分图的最大匹配。
219 Synchrograph
题意 给
分析
(理论)考虑最简单的情况,相邻两个点存在双向边且边权均为 0,那么这
2 个点都不可能变成激活状态。
220 Little Bishops
题意 给大小为
分析 dp。
221 Big Bishops
题意 (与 220 Little Bishops 相同),棋盘大小为
分析
222 Little Rooks
题意
分析
223 Little Kings
题意 在
分析 状压 dp。
224 Little Queens
题意
分析
225 Little Knights
题意
分析
226 Colored graph
题意
分析 最短路
227 The art to the broad masses!
题意 给
分析 本质上求解两圆交点,然后仅保留半圆上的点(可以利用叉积计算)。
228 Archipelago
题意 已知正
分析 计算几何。
229 Divide and conquer
题意
分析
230 Weighings
题意 有
分析 拓扑序。
231 Prime Sum
题意 求
分析 除 2
外,质数都是奇数。而奇数+奇数=偶数,因此问题转化为质数对
232 Infinite Fraction
题意 给长为
分析
每个无限循环小数的重复部分长度是一致的,因为步长
233 The Greatest Angle
题意
分析
234 Black-White King Strikes Back
题意 给大小为
分析 二分图的最大独立集。假设每个格子的坐标为
Konig定理
假设二分图的最大匹配数为 M,最小覆盖数为 m,则有:
- m ≤ M。令最大匹配的点集为 C,二分图为 <V, E>。假设有 m > M,所以存在点 a, b ∉ C 且 (a, b) ∈E,这与最大匹配的定义矛盾,因此假设不成立。
- m ≥ M。在最大匹配中,每对匹配没有公共点,因此覆盖匹配边至少需要 M 个点,因此有 m ≥ M。
综上二分图有:最小覆盖数 = 最大匹配数。
二分图最小点覆盖的构造方案
基于二分图中最小点覆盖数等于最大匹配数的结论来构造方案,首先有两个认知:
- 每对匹配有且仅有一个点在方案中;
- 没有配对且有连边的点,由有匹配的点来覆盖其之间的连边。
那么根据上面的认知,则有构造方案:
- 选取二分图左侧无匹配的所有点,根据认知 2 这些点必须由右侧在匹配中的点来覆盖(理论上,此时无匹配的左侧点也找不到无匹配的右侧点,否则就违反了最大匹配的定义)。
- 在选取了部分右匹配点进方案后,根据认知 1,相应的左侧匹配点就不能选择了。之后,将这些不能选择的左侧点视为无匹配点,寻找其他右匹配点来覆盖非匹配边。
- 在步骤 1,2 中未访问过的点,只剩匹配点之间自己的连边,可以任选一点。
步骤 1,2 本质上是在寻找增广路,并且覆盖了左侧无匹配点与右侧之间的连边。在最大匹配的前提下,步骤 1,2 找不到新匹配,因此增广路的终点必然是左侧。
右侧无匹配点与左侧之间的连边情况也是类似的,仿照步骤 1,2 即可。显然,处理左侧无匹配点和右侧无匹配点不存在冲突,因此可以在一次 BFS 中处理。
235 The Queen
题意 在大小为
分析 模拟。
236 Greedy Path
题意 给
分析
237 Galaxy X: Episode I - Masters of Mind
题意 给定长度为 255 且包含 '*','?','!' 的正则表达式,基于该正则构造长度和字典序都是最小的回文串。各符号含义:'*' 匹配任意长度的任意字符;'?' 恰好匹配一个字符;'!' 恰好匹配三个字符。
分析 DP;'!'替换成 3 个 '?'。
238 Uncle Vasya and Bags for Potatoes
题意 (将题目中的地板抽象成一个点)给一棵大小为
分析 每种状态根据只与树根编号有关,因此答案为
239 Minesweeper
题意 在
分析 dp(i, mask)。
240 Runaway
题意 给
分析 dp。
241 The United Fields of Chessboardia
题意 给大小分别为
分析 状压 dp。
242 Student's Morning
题意 有
分析 最大流可解。
243 Broken Chessboard
题意 大小为
分析 搜索+剪枝。
244 Height, Bisector and Median
题意 给 △ABC 的高 AH, 角平分线 AD 以及中位线 AM(所有长度不超过 100)。判断是否能构造出 △ABC,若能输出任一方案。
分析
245 Black-White Army
题意 给大小为
分析 因为棋盘上的路径是可逆的,那么主角击杀棋子的顺序是无关的,即可贪心地击杀对方棋子。在击杀对面棋子后,一些原本不可达的位置可能就可以在不被对方攻击的情况下到达了,这个更新需要遍历整个棋盘,可以 lazy update。
246 Black & White
题意 给长度为
分析 记项链长度
247 Difficult Choice
题意
分析 将数分为集合
首先证明序列
因为有
综上,在所有选取方案(包括非法)中,每
248 Integer Linear Programming
题意 整形线性规划问题,给定
分析 将变量视为空间为
249 Matrix
题意 使用
分析 将二进制位拆分成两部分,第一部分占
使用数学归纳法构造方案:
- 当
时,有 00, 01, 11, 10。 - 当
时,假设 的序列为 ,基于 构造 ,新构造的两个数仅一位不同,并且可以构造出新序列 。显然,新序列也是符合题意的环。
250 Constructive Plan
题意 给
分析 枚举 C 字形的上下边界,处理出三个矩形的公共矩形,之后需要考虑 2 种情况。一种是不向外扩展,则在公共矩形右边界所在列中部挖一个孔,形成 C 字形。另一种是向右侧扩展,因为上下矩形两者宽度互不影响,因此只需要预处理以给定矩形左上角顶点的最大矩形和以给定矩形左下角顶点的最大矩形,然后尝试扩展形成更大的 C 字形。
251 Polymania
题意 已知有
分析 假设固定点 N-1 和点 N 这一线段长度,那么其他点距离点 N-1 和点 N 所在直线的距离便固定了,即其他点的位置根据其权重 Ri 固定在某一直线上。
假设有权重不同的点 A 和点 B,因为
252 Railway Communication
题意 给
分析 最小费用最大流。将每个点拆分入点和出点,流量为 1 费用为边权。