code jam qualification round
by prime21
Problems
- Problem A. Standing Ovation
- Problem B. Infinite House of Pancakes
- Problem C. Dijkstra
- Problem D. Ominous Omino
考试情况
A,B,C,D考场都做了。
可能因为是QR所以没有太重视
C-large & D-large FST
sad
Problem A Analysis
简明题意:给一个数列,可以给每一个数增加一个值,保证对于 有
求最小增加的和
Problem A solution
简单的dp或者递推。
直接无视
增量保持可以维护 1~i-1也满足的值
显然增加的量就是两个之差
Problem B Analysis
简明题意
在一家有无限个人的餐厅里,有D个人手里有食物,每个有的食物量已经给出。在任意一个单位时间里完成以下操作的一个:
- 将一个人盘子里的东西分成两份,将其中一份给另一个人【可以有食物,可以没有食物】【分的大小不限】
- 所有人吃掉自己盘子里的食物
进行这两项操作,使得食物消耗完的用时最少
Problem B Solution
考虑到这题是贪心。
可以证明先分食物再吃会优。【显然】
然后我们枚举分完食物后最大的一份的大小P
那么总时间就是 把食物分成不超过这个大小P的时间+P(吃完这个的时间)
于是爆枚即可
Problem C Analysis
简明题意:
定义四元数,满足如下运算定律

我们现在给出一个四元数的积的序列,要求把它分成三个部分,使得每个部分的答案分别为 i j k
Problem C idea in the round
We find the quaternions are not commutative but they are associative
And i * j * k=-1,so the ans must be -1
And we will find a prefix which is i
And we will find a suffix which is k
And we find the results will be a loop.so we just consider about a circle.
WA on the large.Because of long long【TAT】
Problem C solution
先介绍几个性质:我考场上猜测的。
- 整个op的答案要为 -1.
- 对于重复x遍op显然在很短的地方就已然产生了循环。【extended from complex numbers】
考后分析:
- 任意一个op重复四次必为1【考虑令一次op的答案为 1 i j k -1 -i -j -k】
- 然后做法和idea里面提的一模一样。
- 我会说把x mod 4暴力都可以虐我么。
Problem D Analysis
题意,我们定义一个 X-俄罗斯方块 (X-Omino) 是由 X 个正方形块边边相接连起来的东东。然后 Richard 和 Gabriel 在玩一个游戏:
要把若干个 X-Omino 放置到 RxC 的网格里面。
X 和 R, C 都是事先约定好的,然后由 Richard 选出一个 X-Omino (形状由 Richard 选定)。
然后 Gabriel 就要先放一个 X-Omino 到网格里面,然后试图再找任意个形状随意的 X-Omino 放进网格,最终要把网格完全占满。
Richard 和 Gabriel 都是绝顶聪明的人,如果 Gabriel 能够把网格占满那么 Gabriel 胜,否则 Richard 胜。
那么对于给定的 X, R, C,请问谁能赢得游戏。
Problem D Solution
其实这是一道手工分情况讨论题。我们先排除掉一些大情况
1.X>=7 ...显然我们可以把一个大小为1的格子围死
2.
这两个不行..自己脑补
对于剩下的分类有点多,建议大家看
http://www.huangwenchao.com.cn/2015/04/gcj-2015-qual-d.html
code jam 2015 qualification round
By prime21
code jam 2015 qualification round
Google code jam 2015 qualification round
- 1,988