考完这场就开学了,oi与文化课两头搞真的很shi,每天翘掉一节节自习,到机房30分钟回顾,10分钟颓废,然后就下课了。。。整整5天才改完这个T3,效率太低了,
而且文化课啥都不会,尤其是物理,很乱,很茫然
第五天和第一天心态完全不一样
不过,过去了,在不再有了,成功进入半集训,
调整心态下篇再写
T1
根据数据可以发现所有的gcd应该能整除最后的数,其实算是exgcd有解的条件的一个推广
T2
dp很好想,考虑优化转移
可以把绝对值的东西给搞掉,有四种情况,分别用一个变量来维护fj+x+y,fj-x+y...
T3[单调栈][启发式合并]
用单调栈处理出每个点作为最大值时维护的区间,可以发现,这构成了一颗二叉树,
ans1:对于x的区间维护f[x][j]表示二进制下j位是1的个数,那么每次我就可以把一个区间分成左右两段,枚举小的一段,看枚举到的这个数的这一位异或值在另一个区间的次数,贡献就是$2^j*num(f[other][j])$
ans2:每个点维护一颗01Trie树,同样是枚举那个小的区间里的每个数,在另一颗Trie树中查找,看有多少个满足条件,并且要把小的插到大的里,然后x直接继承就好
时间复杂度O(nlognlogv)。