ARC 131 题解
KING_OF_TURTLE · · 个人记录
ARC131 题解
直接因为考场上没想到
A,B:
略
C:
你有一个长度为
每个人可以删除其中一个数,若剩下的数异或和为
分析:
下设
先给出结论:若
-
对于
n 为奇数的情况:首先证明游戏不会在刚好两轮结束:
反证若可行,则对任意
a_i ,都可以找到a_j 使得a_i \bigoplus a_j = sum 。若是两两配对,那么会有一个落单使得出现重复。所以只考虑有重复的情况,即:
所以,推广可以得到游戏会在奇数次内结束,即先手胜利。 -
对于
n 为偶数的情况:如果先手不能一次取胜,那么就相同与奇数的情况。
故先手必须一次取胜。
时间复杂度
D:
有
给定
分析:
首先,所有射出去的箭尽量挨在一起,由于
注意到靶子是左右对称的,所以我们分左右考虑。对于每一个区域,按照模d的余数将其分成d个区域,只需计算哪个区域最大。两个区域有差别当且仅当有一个区域贴到了边界。我们钦定第一支箭在原点,看偏移
使用差分,计算的时候更方便。一个区域最多有两种通过箭数的情况,一定最优。
最后再枚举中间箭的位置,看正部分多算的分和负部分的分加起来最大值即可。
时间复杂度
E:
给定一个
- 不存在异色三角形(即三条边颜色都不同)
- 每种颜色数量相等
分析:
首先因为第二条性质,若
对于剩下的,除了
我们设两种颜色为主要颜色,比如上图的红和黑。按照如下的方式进行构造:
- 从
1 号点,黑色开始 , 向每个点连边,颜色换着来。 - 如果还有剩余边则跳过。否则进入特判。
特判:注意一定是黑色先连完。设最后一次黑色连了
(那为什么数据范围是
F:
不会。
总体评价:
感觉E题明显比D题简单的多?