Single Round Match 496
2011-02-05 22:00
344 查看
哎……由于春节快到了各种回老家……这次SRM没有做……今天终于回家安稳下来了,把这次SRM的题目看了一下。
250是水题,500是图论+计数,950是神奇的结论题。
250pt ColoredStrokes
有红色和蓝色两种宽为1笔,在n * m的画板上画画,红色只能水平画,蓝色只能垂直画,如果某个点同时被画了红色和蓝色,则这个点会变成绿色。给出这板子上n * m个元素的颜色,求最少画的次数。
分别统计下红色和蓝色……加起来就好了。
500pt OneDimensionalBalls
n个球在数轴上动,速度相同,有些向右有些向左,时刻A和时刻B的快照记录下了所有球的位置,问时刻A和时刻B有多少种不同的对应方式。
首先枚举经过的时间d(可行的取值只有n^2种),然后问题就转化为了求二分图最大匹配的数目。这个二分图中点的度数最多为2。我们把所有连通分量分开考虑,令size表示这个连通分量中点的个数,match表示最大匹配数,count表示最大匹配的方案数。则每个连通分量可能是如下三种情况之一:
1、孤立点,match和count均不变。
2、一条链,match += size / 2,若size为奇数,count *= (size + 1) / 2,否则count不变。
3、一个环,match += size / 2,count *= 2。
累加起所有count即可。
950pt YetAnotherHamiltonianPath
n个点,每个点i赋予一个字符串标识label[i],u和v之间的权值定义为length(label[i])^2 + length(label[j]) ^ 2 - length(LCP(label[i], label[j]))^2,求0到1的最小权值哈密顿路。
先提出常数来,题目其实让求的是max(sigma(length(LCP(label[p[i]], label[p[i + 1]])))),p为0 ~ n - 1的排列,p[0] = 0,p[n - 1] = 1。
再简化一下,题目是让求一个哈密顿环,其中0和1相邻。
再简化一下,其实任意一个环都可以在不改变权值的前提下,转化为0和1相邻的环(考虑这n个字符串组成的trie,可以通过调整节点访问的顺序使01相邻)。
于是我们就把所有字符串排序,然后相邻的取LCP计入答案即可。
250是水题,500是图论+计数,950是神奇的结论题。
250pt ColoredStrokes
有红色和蓝色两种宽为1笔,在n * m的画板上画画,红色只能水平画,蓝色只能垂直画,如果某个点同时被画了红色和蓝色,则这个点会变成绿色。给出这板子上n * m个元素的颜色,求最少画的次数。
分别统计下红色和蓝色……加起来就好了。
500pt OneDimensionalBalls
n个球在数轴上动,速度相同,有些向右有些向左,时刻A和时刻B的快照记录下了所有球的位置,问时刻A和时刻B有多少种不同的对应方式。
首先枚举经过的时间d(可行的取值只有n^2种),然后问题就转化为了求二分图最大匹配的数目。这个二分图中点的度数最多为2。我们把所有连通分量分开考虑,令size表示这个连通分量中点的个数,match表示最大匹配数,count表示最大匹配的方案数。则每个连通分量可能是如下三种情况之一:
1、孤立点,match和count均不变。
2、一条链,match += size / 2,若size为奇数,count *= (size + 1) / 2,否则count不变。
3、一个环,match += size / 2,count *= 2。
累加起所有count即可。
950pt YetAnotherHamiltonianPath
n个点,每个点i赋予一个字符串标识label[i],u和v之间的权值定义为length(label[i])^2 + length(label[j]) ^ 2 - length(LCP(label[i], label[j]))^2,求0到1的最小权值哈密顿路。
先提出常数来,题目其实让求的是max(sigma(length(LCP(label[p[i]], label[p[i + 1]])))),p为0 ~ n - 1的排列,p[0] = 0,p[n - 1] = 1。
再简化一下,题目是让求一个哈密顿环,其中0和1相邻。
再简化一下,其实任意一个环都可以在不改变权值的前提下,转化为0和1相邻的环(考虑这n个字符串组成的trie,可以通过调整节点访问的顺序使01相邻)。
于是我们就把所有字符串排序,然后相邻的取LCP计入答案即可。
相关文章推荐
- Single Round Match
- Single Round Match 504
- Member Single Round Match 465 Round 1 - Division I, Level Two GreenWarfareze
- Single Round Match 479 Round 1 - Division I, Level Two TheAirTripDivOne
- Sicily 1790. Single Round Match
- Single Round Match 498
- Sicily 1790. Single Round Match
- Single Round Match 585 Div2 A B
- Single Round Match 671 Round 1 - Division II, Level Three(状压DP)(略难)
- Single Round Match
- sicily 1790. Single Round Match
- Single Round Match 497
- Single Round Match 508 Round 1 - Division I, Level Two YetAnotherORProblem
- Member Single Round Match 501
- Single Round Match 506 Round 1 - Division I, Level Two SlimeXGrandSlimeAuto
- Member Single Round Match 474 Round 1 - Division I, Level Two TreesCount
- Single Round Match 524 Round 1 - Division I, Level Two LongestSequence
- Single Round Match 573 Round 1 - Division I, Level Two SkiResorts
- Single Round Match
- Sicily 1790. Single Round Match