UESTC 第十届 ICPC 趣味程序设计竞赛第四场(正式赛)题解

2/5 Penalty: 02:15:58 Rank 94

我不露一手你们真的以为我很强?

被第二题打自闭(第二题是大一大爷出的不敢说话),然后就出现了 个 AK 的……

今天智商不在线实锤,滚去写微积分作业。

我有毒,真的,我觉得别人觉得简单的场很难,我觉得别人觉得比较难的场简单……

包括数学考试,英语考试,全部应验……

比赛链接早已失效,不放了。

A. 就是要众生平等

题目大意:一个数列的所有元素和要变成 ,最少要加多少?

mdzz

时间复杂度:,空间复杂度:

代码见这里

B. Sindar家的气球

题目大意:有一些气球排成一列做匀速直线运动,气球的质量都相等,并且有一个速度。求经过碰撞后最快与最慢的气球到达终点的用时。

mdzz 我 TM 直接去想动量定理了。

不就是交换速度吗,可以看成两个气球位置交换……

所以就当没有碰撞就好了……

时间复杂度:,空间复杂度:

代码见这里

C. 蚂蚁的旅途

题目大意:一个点从数轴上的原点出发,每一秒等概率地向左或向右移动一个单位长度,求 秒后在 位置的概率。

数据不满,跑暴力。

时间复杂度:,空间复杂度:

代码见这里

D. XOR 最长路径

这道题排版满分,点名表扬。

题目大意:求 的一个字典序最小的排列,使得所有相邻两个数的异或的 NIM 和最大。

暴力打错,手动再见。

写出这个式子,因为异或具有结合律,并且 ,因此就令第一个数与最后一个数的异或值最大即可。

一列数中选两个数异或值最大有经典的 Trie 树做法,直接上即可,但要记录这两个数的值。最后把这两个数排序放在序列的头尾,剩下的数排个序即可。

但是观察一下,选的这两个数的异或应该是 这样,因为要使第一个数尽可能小,所以要使最后一个数尽可能大,一直大到 就行。

然后就不用 Trie 树了,直接做就好了……

时间复杂度:,空间复杂度:

代码见这里

E. 奥本海姆的衣柜

题目大意:还是题解写得明白……

不想说话,直接粘题解……

时间复杂度:,空间复杂度:

代码见这里