A. New Year Garland (CF 1279 A)

题目大意

给定红绿蓝三种颜色灯的数量,问能否摆成一排,使得相邻颜色不相同。

解题思路

植树问题。考虑数量最多为\(n\)的颜色的灯俩俩不相邻,那么其他颜色的灯的数量和要大于\(n-1\)即可,大过\(n-1\)的灯直接插到里面就好了。



B. Verse For Santa (CF 1279 B)

题目大意

给定\(n,s,\)以及\(n\)个数的数组,问数组从第一个数开始加,其中可以跳过一个数,和不超过\(s\),问加的个数最多时应该跳过第几个数(不跳过输出\(0\))。

解题思路

很显然如果我们跳过的话自然是跳过前面最大的那个,是否跳过就看跳过的话增加的时间能不能再增加一个数甚至更多。



C. Stack of Presents (CF 1279 C)

题目大意

给定\(n\)个礼物,从左到右标号。现在要依次给小朋友送礼物,共\(k\)个礼物序号分别为\(x_1,x_2,...,x_k\),如果当前要送的礼物\(x_i\)不在第一个,那么圣诞老人要依次把前面的礼物放到一边,直到放了\(m\)个礼物后,\(x_i\)的礼物在第一个位置,然后送了礼物后再把放出来的礼物放回去,此时放回去的顺序可以自己决定,此时会耗\(2*m+1\)个体力值。问送完\(k\)个礼物最少消耗的体力值是多少。

解题思路

对于一个送出去的礼物\(x_i\),送出去后整理前面的礼物时,按照要送的礼物的顺序(如果在这里面的话)排好,这样总消耗的体力值最小。



D. Santa's Bot (CF 1279 D)

题目大意

给定\(n\)个孩子喜欢的礼物的序号的清单,然后随机选一个孩子\(a\),从这个孩子期望的礼物随机选一个\(k\),再随机选一个孩子\(b\)(可能为同一个),如果\(b\)的期望礼物里也有\(k\),则圣诞老人就可以送礼物出去,否则不可以。问圣诞老人可以送礼物出去的概率是多少。

解题思路

概率题,由于按题目考虑计算的话会在找哪些孩子会期望该礼物耗很大时间,我们考虑枚举礼物,然后考虑该礼物送出去的概率。
我们枚举了一个礼物\(gift_i\),考虑枚举的两个人,对于第一个人\(a\),设他期望的礼物数为\(num_a\),则选他的概率应该是\(\dfrac{1}{num_a}\),对于第二个人\(b\),由于\(b\)的礼物清单里要有\(gift_i\),设选\(gift_i\)的人数有\(cnt_{gift_i}\),则选上\(b\)的概率为\(\dfrac{1}{cnt_{gift_i}}\)。由此,对于一个礼物,它能送出去的概率即为\(\sum\limits_{a\ wish\ gift_i}\dfrac{1}{num_a}*\dfrac{1}{cnt_{gift_i}}\),由于各礼物都是等概率抽到,则答案就是\(\dfrac{1}{kk}\sum\limits_i\sum\limits_{a\ wish\ gift_i}\dfrac{1}{num_a}*\dfrac{1}{cnt_{gift_i}}\),其中\(kk\)是礼物种类,\(cnt_i\)是期望礼物\(i\)的人数,\(num_i\)是孩子\(i\)期望的礼物数。



12-18 18:22