摘要:
一看区间操作,很容易想到差分 所以就是先差分,然后为了保证最小步数,把政府差分抵消,也就相当于原数组区间加减 第二问,因为差分数组抵消之后不为0就需要使用n+1的虚拟位置,而这个的值其实没有,所以我们可以在这个抵消后的数的范围内随意操作,也就是任意取值 阅读全文
摘要:
注意到k=gcd(x,y) 1,所以答案是 $$ 2 (\sum_{i=1}^{n}\sum_{i=1}^{m}gcd(i,j)) n m $$ 去掉前面的乘和后面的减,用莫比乌斯反演来推,设n include using namespace std; const int N=100005; lon 阅读全文
摘要:
这居然是我第一次写线段树合并……所以我居然在合并的时候加点结果WAWAWAMLEMLEMLE……!ro的时候居然直接指到la就行…… 树上差分,每个点建一棵动态开点线段树,然后统计答案的时候合并即可 cpp include include include using namespace std; c 阅读全文
摘要:
Wall是个好东西,要不然我至死都看不出来我把(b[i]+b[j])写成了(b[i],b[j])…… 还是来自lyd的题解: (其实原来课件第一行式子写错了没有 1,然而我用sai手画了一个上去hhhh,板绘选手表示鼠绘真难) cpp include include include using na 阅读全文