2015-C09-team2/solution
从 Trac 迁移的文章
这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。
原文章内容如下:
=== A. Alarm Clock ===
枚举所有时间即可。
=== B. Buffcraft ===
枚举在第一类中选多少个,然后贪心。
=== C. Combinator Expression ===
=== D. Digits ===
统计1到一个充分大的数(1e6就够了)间的全部数字再处理询问。
=== E. Expression ===
=== F. Fragmentation ===
=== G. Grave ===
枚举上下左右即可。
=== H. Hiking in the Hills ===
注意到必定存在除首尾两端之外均在三角形边界上的路径。将所有顶点、起点和终点视为结点,三角形边作为边,起点和终点与所在三角形顶点间也连边。求一次最短路。
=== I. Instruction ===
在最后时刻才改变开关方向,这样可以依序处理每辆列车所需的操作,到最后才按时间排序。
=== J. Joy of Flight ===
先计算出k秒间风速所造成的偏移量之和,然后再从起点的偏移位置移动到终点。
=== K. Kebab House ===
用f[i]表示i时间最后一次做梦对应的方案数,s为i时间之前最后一个产品制作结束的时间。设i所属产品容许做梦次数为k。
* k == 0。f[i] = 0。
* k == 1。f[i] = sum(..f[min(s, i - (t + 1))])
* k >= 2。枚举当前产品第一次做梦的时间j,预处理j..i之间0..k-2次发呆的方案数。
A. Alarm Clock
枚举所有时间即可。
B. Buffcraft
枚举在第一类中选多少个,然后贪心。
C. Combinator Expression
D. Digits
统计1到一个充分大的数(1e6就够了)间的全部数字再处理询问。
E. Expression
F. Fragmentation
G. Grave
枚举上下左右即可。
H. Hiking in the Hills
注意到必定存在除首尾两端之外均在三角形边界上的路径。将所有顶点、起点和终点视为结点,三角形边作为边,起点和终点与所在三角形顶点间也连边。求一次最短路。
I. Instruction
在最后时刻才改变开关方向,这样可以依序处理每辆列车所需的操作,到最后才按时间排序。
J. Joy of Flight
先计算出k秒间风速所造成的偏移量之和,然后再从起点的偏移位置移动到终点。
K. Kebab House
用f[i]表示i时间最后一次做梦对应的方案数,s为i时间之前最后一个产品制作结束的时间。设i所属产品容许做梦次数为k。
- k == 0。f[i] = 0。
- k == 1。f[i] = sum(..f[min(s, i - (t + 1))])
- k >= 2。枚举当前产品第一次做梦的时间j,预处理j..i之间0..k-2次发呆的方案数。