06 2016 档案
摘要:第一问: 设$a[i]$表示使用$[1,i]$的数字$n$次形成的数组里有多少个$\gcd=1$。 考虑容斥,则$a[i]=i^n-\sum_{j=2}^i a[\lfloor\frac{i}{j}\rfloor]$,可以分$\sqrt{i}$段算出。 $ans=\sum_{i=l}^r a[\lf
阅读全文
摘要:将所有盒子插入链表,每当一个盒子变空时,从链表里删去它。 查一下它的前驱后继$pre,nxt$,那么$[pre+1,nxt-1]$都是空的。 每次对于$[A,B]$这段都为空,对小朋友按$R$维护线段树,维护区间内$L$的最大值,不断询问$[1,B]$内$L$的最大值,如果$\geq A$则拿出来。
阅读全文
摘要:如果答案在某个碎片内部,那么直接悬线法解决,时间复杂度$O(n\sum)$。 如果$n$比较大,那么$\sum$比较小。 求出每个点向上能延伸的长度,枚举每个点向上这条线段作为短板。 算出完全可选的碎片的长度之和以及不能完全选,左边右边最大次大延伸距离,更新答案。 时间复杂度$O(n\sum^2)$
阅读全文
摘要:将数字离散化并去重,则对于一对逆序对$i<j$,$a_i>a_j$,其贡献为$\frac{2}{a_i-a_j+1}$,因此只要对于每个差值统计出对应的逆序对个数即可。 将序列分块,块内平方暴力,块与块之间做FFT即可。 时间复杂度$O(n\sqrt{n\log n})$。 #include<cst
阅读全文
摘要:设$A[i][j]=[a[i][j]=G],B[i][j]=[b[i][j]=L]$,枚举右下角,则对应$(A-B)^2$的和就是匹配成功的格子数。 $(a-b)^2=a^2+b^2-2ab$,将矩阵展开成一维,然后将$B$翻转,用FFT求出$\sum a\times b$即可。 时间复杂度$O(B
阅读全文
摘要:$g$是积性函数,可以通过分解质因数在$O(n\log n \log\log n)$的时间内求出。 对于$((A\times B)\times C)\times D$,可以转化为$D\times (C\times (B\times A))$,并视向量个数的奇偶性取反答案。 对于$D\times (C
阅读全文