ACM SD 2017 C
ACM SD 2017 C
好像是除了签到题外最水的一题 ,做题时思路还算是清晰,但是第一次做时想错了。
题目来源: sdibt
分析
题目给出了n个点,然后每秒钟每个点会分裂为两个点,分别移动到其左边和右边。即对于第t秒时存在一个点的位置为x,那么在t+1秒时便存在两个由其分裂出来的点在x-1,x+1。由此,我们可以得出对于一个点衍生出的所有的点的位置分布图,大致如下: 1
2
3
4
5
61
1 0 1
1 0 2 0 1
1 0 3 0 3 0 1
1 0 4 0 6 0 4 0 1
......
由此,我们可以看出其存在的规律--将其中的0全部去掉之后,其分布便为一个杨辉三角,即下图: 1
2
3
4
5
61
1 1
1 2 1
1 3 3 1
1 4 6 4 1
......
而题目要求给出了n个点的初始位置和各自的数量之后,能够计算得出在T秒之后在位置w处的点的总数。
因此,我们可以对于每一个初始的点与w之间进行判断,得出由此点衍生出的图中w是否为0,若不为0则将根据坐标,将其化为一个求组合数的问题。
结论
\[ Ans = \sum_{i=1}^n cnt(i) \]
\[ cnt(i) = \left\{ \begin{aligned} &0 &, abs(w-x) > T \\ &0 &, odd(w-x-T) \\ &C(n,m) &,even(w-x-T) \end{aligned} \right.\] \[ (n=T,m=abs(w-x+t)/2) \]
代码
1 |
|