这次比赛暴0???!!!翻车了,翻车了!!!;
T1
和曾经的拉力赛很像;先找出根节点,然后DFS遍历,再加上开始时间戳和结束时间戳,然后每次输入按题目描述做就可以了(是不是很水,只可惜比赛时忘了删测试语句);
T2
题目很装逼,其实非常水.......先把两个序列都排好序,然后分别枚举两队各得多少分,答案就是A队减B队再除以N,枚举方法如下:枚举其中一个序列中的数,看下一个序列比他小的最大数,得分用平方前缀和和前缀和求出:ans:=ans+a[i]*j+sum1[i]-2*a[i]*sum2[i];其中,sum1是b的平方前缀和,sum2是b的前缀和(此公式由(a-b)^2的公式得出);
T3
这道题,没做对会觉得很变态,做对了会觉得很水(群众:怎么又是这句话)........你是不是也这样想呢?好吧,不说废话了,这道题就是一道“上手易,理解易”的DP:
首先,f[i,j]表示有i位,和为j的方案数,公式:f[i,j]:=sum{f[i-1,j-s[k]]}(k=1~|s|);
第一种情况:前后相等;这个答案就是sum{f[n,i]}(i=0~max*n);
第二种情况:奇偶相等;把奇位拉成一串,偶位拉成一串,再拼起来,就和上一种情况一样了,所以ans*2;
然后按容斥原理筛出同时满足两种情况的:(懒得写了,转载gmh神犇的题解)