CF1513B AND Sequences

https://www.luogu.com.cn/problem/CF1513B

 

 

完全没想法

知道方向是找规律,比如满足某种特殊情况,该序列就合法。

我猜的第一个是使得并后的值恒为0,那是不是要找0出现的位置,一看另外一个1,3,5,1有出答案的样例,没道理;

没有第二个猜测了。

因为:

  • s1=s2&s3&s4&s5=0
  • s1&s2=s3&s4&s5=0
  • s1&s2&s3=s4&s5=0
  • s1&s2&s3&s4=s5=0

 

不知道这种条件应该如何转化。

一看题解:

s1&s1=s1;

所以另s1=s2&s3&s4&s5----&s1,写成s1=s1&s2&s3&s4&s5值依然不改变。

再另s1&s2&s3&s4=s5----&s5,写成s5=s1&s2&s3&s4&s5值依然不变。

(并运算的这个性质好微妙啊,这里有点像数学的逆序相加凑项什么的)

且s1=s5=k;且k为已知定值。到现在端点值定下来了。

对s1&s2=s3&s4&s5同理,再&s1&s2得到s1&s2的值应为k。

那么猜测所有的并的值应该都为k,因为无论给出哪一数列,总能再&自己然后凑出整个1-n。

突然发现其实样例给提示了ε=(´ο`*)))唉,就是0=0=0=0=0=0...我应该再敏感一点从这边下手的。

对于已知的s1,s2可以任取,因为k其实是兜底的值,只要s1=k,再操作也只会保持原样或者变0啊。。

而k就是能变0的最后结果。

 

总结:

继续撸就完事了,不想总结数学,数学和算法没有套路的。而我的脑子是小麦艾尔的发酵机,奇怪想法的搅拌器。

 

上一篇:tomcat启动服务时,服务器错误代码1


下一篇:C++ //set/multiset 容器 //set不可以插入重复的数字 multiset可以插入重复的数字 //ste容器构造和赋值 //set大小和交换 //set 插入和删除 //set查找