2018 ICPC 青岛 训练赛

2018 青岛区域赛【训练赛】题解&总结

C 当连续的1出现3段以上时,一定不合法,方案数为0。出现两段时。方案数为6。出现一段时,有两种可能,第一种是两个区间拼起来,方案数为段的长度\(len\),第二种是两个区间作差。方案数为\(n-len\)

D 枚举\(a\)的首位,那么\(b\)序列就会被唯一地确定下来。然后我们再逐位确定\(a\)序列。

E 二分答案

F 🐻构造的

J\(m\)个值,必须拿,因此首先要有\(\sum_{i=1}^{m} a[i]\)的金币。剩余的金币最大值为,为\(m+1\)到第\(n\)的最小值减1.

K 枚举分界线\(x_0\)。分界线左边和右边的人相互独立,我们分别求解。考虑左侧,拿出来两个人。如果这两个人满足到\((x_0,y_0)\)曼哈顿距离相等,那么他们就会碰撞。但是多个人的时候,我们要考虑碰撞的先后顺序,有可能A,B,C到\((x_0,y_0)\)曼哈顿距离相等,但\(A,B\)先碰撞了,那样C就活下来了。我们按横坐标从左到右施展。并用set维护前缀是否有\(|y-y_0|-x=A\)的人走了过来。需要注意的一个地方是,分界线可以和不和任意一个人横坐标相等。

L 先是一些特判.当\(m>n\)方案数为0,当\(m=n\)方案数为\(\frac{(n-1)!}{2}\)。当\(m=0\)方案数为1。我们先枚举\(n\)的排列,然后选择\(n-m-1\)条边剪断,那么我们就会得到\(n-m\)条链。我们先求出\(n-m\)条链的排列。枚举这\(n-m\)条链中,长度大于1的链的个数\(x\),那么这样同一种排列方案会被统计\(2^x\)次。求出排列后除上\((n-m)!\)就是组合了。

M 签到题,\(f\)下降得十分迅速,做迭代,最后结果会在0和1之间循环,判断奇偶性就好了。

posted @ 2018-11-13 06:13  RUSH_D_CAT  阅读(193)  评论(0编辑  收藏  举报