P6599 「EZEC-2」异或

写数学时发现的好题
给出n和l,构造一个数组,数组长度为l,满足数组中的数字在 1-n 之间

贪心的想,直接放n会发生什么。不难发现,最终的答案其实是两两异或之和
放一个n,答案就是1(l-1)n;
放一个n,答案就是2(l-2)n;
其实就是x(l-x)n;

还可以更大吗?
n写成二进制就是1001010……;有很多位是0,都浪费了
那就把这些0变成1,1变成0,变成m,放到其他地方
可以发现,n异或m是 2的x次方-1 = x
特判n等于1的时候

posted @ 2024-12-14 16:57  A了这道题就上床睡觉  阅读(5)  评论(0)    收藏  举报