2016-E17-team2

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

||User||Problem||Result||Memory||Time||Language||Length||Submit Time||
||TaZoF||I||AC||21376||124||G++(4.5)||1828||2016-10-30 16:14:46||
||TaZoF||I||WA|| || ||G++(4.5)||1819||2016-10-30 16:00:28||
||TaZoF||I||WA|| || ||G++(4.5)||1820||2016-10-30 15:51:09||
||TaZoF||C||AC||768||226||G++(4.5)||2131||2016-10-30 15:15:10||
||TaZoF||H||AC||7808||207||G++(4.5)||1529||2016-10-30 14:44:35||
||TaZoF||C||WA|| || ||G++(4.5)||1525||2016-10-30 14:44:09||
||TaZoF||H||WA|| || ||G++(4.5)||1515||2016-10-30 14:34:35||
||TaZoF||D||AC||24848||527||Java()||1092||2016-10-30 14:07:04||
||TaZoF||G||AC||73336||1556||G++(4.5)||1334||2016-10-30 13:30:28||
||TaZoF||J||AC||512||7||G++(4.5)||535||2016-10-30 12:46:19||
||TaZoF||A||AC||128 KB||0 ms||G++(4.5)||412||2016-10-30 12:25:35||

== 流水账 ==
=== TsReaper ===
开场我们很快过了简单题A和J,'''A1y5''','''J1y26'''。G题是数据范围很大的最短路,我们决定写一个Dijstra模板试一下,然后就通过了,'''G1y70'''。H题看起来像是矩阵快速幂,但我推出来的递推式没法用矩阵快速幂,还害得hzf学长一起帮我化简式子。~~这期间我不知道发生了什么~~学长们就会了D和C的做法,'''D1y107'''。

后来我终于发现H的式子推错了,不过减法取模的时候出了一点问题,'''H2y144'''。很快starve学长C也过了,'''C2y175'''。最后我玩奇怪的字符识别题I,学长们想貌似构造题的B。'''I3y234''',B题没有思考出来...

== 总结 ==
=== TsReaper ===
 * 遇到无法矩阵快速幂的式子可以考虑是否推错- -

== 题解 ==
A,G,J比较简单,略过...

=== B - Robot Game ===
其实是有规律的,最多走三步,x -> 5x+2 -> 7x+3...

=== C - Counting Colored Candies ===

=== D - Extracurricular Sports ===

=== H - Magical Balls ===
设a[i]表示第i秒后有多少球,b[i]表示第i秒后所有球x+y的值,显然有:

a[i] = a[i-1] * (u[i] + d[i] + l[i] + r[i])

b[i] = b[i-1] * (u[i] + d[i] + l[i] + r[i] + 1) + a[i-1] * (u[i] - d[i] + r[i] - l[i])

是两个可以矩阵快速幂的线性递推式。由于u[],d[],l[],r[]有周期性,所以周期之间使用矩阵快速幂,周期内暴力进行矩阵乘法即可。

=== I - PKU Zealots ===
由于P有一个封闭区域,是最容易判断的;剩下的K和U我看的是重心到最近像素点的距离的平方与面积之比...

== 补题 ==
UserProblemResultMemoryTimeLanguageLengthSubmit Time
TaZoFIAC21376124G++(4.5)18282016-10-30 16:14:46
TaZoFIWA G++(4.5)18192016-10-30 16:00:28
TaZoFIWA G++(4.5)18202016-10-30 15:51:09
TaZoFCAC768226G++(4.5)21312016-10-30 15:15:10
TaZoFHAC7808207G++(4.5)15292016-10-30 14:44:35
TaZoFCWA G++(4.5)15252016-10-30 14:44:09
TaZoFHWA G++(4.5)15152016-10-30 14:34:35
TaZoFDAC24848527Java()10922016-10-30 14:07:04
TaZoFGAC733361556G++(4.5)13342016-10-30 13:30:28
TaZoFJAC5127G++(4.5)5352016-10-30 12:46:19
TaZoFAAC128 KB0 msG++(4.5)4122016-10-30 12:25:35

流水账

TsReaper

开场我们很快过了简单题A和J,A1y5J1y26。G题是数据范围很大的最短路,我们决定写一个Dijstra模板试一下,然后就通过了,G1y70。H题看起来像是矩阵快速幂,但我推出来的递推式没法用矩阵快速幂,还害得hzf学长一起帮我化简式子。这期间我不知道发生了什么学长们就会了D和C的做法,D1y107

后来我终于发现H的式子推错了,不过减法取模的时候出了一点问题,H2y144。很快starve学长C也过了,C2y175。最后我玩奇怪的字符识别题I,学长们想貌似构造题的B。I3y234,B题没有思考出来...

总结

TsReaper

  • 遇到无法矩阵快速幂的式子可以考虑是否推错- -

题解

A,G,J比较简单,略过...

B - Robot Game

其实是有规律的,最多走三步,x -> 5x+2 -> 7x+3...

C - Counting Colored Candies

D - Extracurricular Sports

H - Magical Balls

设a[i]表示第i秒后有多少球,b[i]表示第i秒后所有球x+y的值,显然有:

a[i] = a[i-1] * (u[i] + d[i] + l[i] + r[i])

b[i] = b[i-1] * (u[i] + d[i] + l[i] + r[i] + 1) + a[i-1] * (u[i] - d[i] + r[i] - l[i])

是两个可以矩阵快速幂的线性递推式。由于u[],d[],l[],r[]有周期性,所以周期之间使用矩阵快速幂,周期内暴力进行矩阵乘法即可。

I - PKU Zealots

由于P有一个封闭区域,是最容易判断的;剩下的K和U我看的是重心到最近像素点的距离的平方与面积之比...

补题

附加文件