比赛链接:https://vjudge.csgrandeur.cn/contest/537670#overview

多少因为服务器卡没有好好做。

不过,只AC了三个题真的非常离谱!

题确实简单。感觉自己没脑子。。。。或者说想的有点多。

B题:大意是用a表示1 ,z表示26  aa表示27  依次类推。

这个题没做出来有点离谱。首先这肯定是个26进制的。只不过末尾没有0而是1。当27的时候进a补a。

这个题的巧妙之处在于能够整除26的时候加z,还要再减去1. 否则我们当作正常26进制来做。  26的边界处理真的很巧妙。

后来看了其他大佬的代码。可以提前预处理26的整除,先把这些给减去了再进行操作。

这个题不得不说,真神奇。

D题:大意是给出数组a。构造数组b,使得在数组b中的除了第i个位置的数其他的数异或起来等于第i个位置的a数组的数。

这些数的数量是偶数。

偶数这里我发现了。我的做法是因为是偶数,所以如果其他所有的数都存在某个1,那么奇数次的1一定可以构造这个1.

所以对于每个ai,可以把所有位上的1加到其他各个数上。也就是或起来。与或线段树。。。。然后WA了

事实上这里可以利用异或的反身性直接做。我们记录bi为其他ai的异或和。这样这个数被异或了奇数次。一定可以出现这个数。而其他事数因为当前数的bi不存在本身的ai所以只有偶数次可以被抵消掉。。。。。。。。

H题:

如图,f(k)表示k的因子的数量。

直接暴力即可。因为筛法本身还是线性的。做的时候想的有点多。