摘要:
P3768 简单的数学题 给定 \(n,p\),求 : \(\sum_{i=1}^n\sum_{j=1}^nijgcd(i,j)\quad (\mod p)\) \(n\le 10^{10},5\times 10^{8} \le p\le 1.1\times 10^{10}\) 话不多述直接开始推式 阅读全文
摘要:
杜教筛 杜教筛是一种在低于线性时间复杂度下求积性函数前缀和的方法。 我们对于一个积性函数 \(f\) ,要求它的前缀和 \(S\)。 我们构造两个辅助函数:积性函数 \(g\) ,狄利克雷卷积 \(f*g\) 有这样一个结论:\(\sum\limits_{i=1}^n(f*g)(i)=\sum\li 阅读全文
摘要:
基本的质数筛法 埃筛 筛去所有已知素数的倍数。 时间复杂度:\(O(nlogn)\) (代码仅供参考,不保证能够通过编译及正确性) for(int i=1;i<=n;i++) { if(!mp[i]) prime[++tot]=i; else continue; for(int j=2*i;j<=n 阅读全文
摘要:
P4588 [TJOI2018]数学计算 一道不错的线段树练手题。 我们开一棵线段树,下标维护操作次序,节点值即是对应区间的积 设当前操作是第 \(i\) 次操作。 每次操作 \(1\) 我们都把 \(i\) 对应叶节点的值改为 \(m\) 。然后查询 \([1,i]\) 的乘积。 每次操作 \(2 阅读全文
摘要:
区间翻转?第一反应Splay wtcl 不会FHQtreap 观察题意,题目让我们依次输出第 \(k\) 大所在位置 \(p_k\) 并将 \([k,p_k]\) 翻转。并且我们自始至终只关心位置。所以我们可以按照高度排序,从最小的依次找起。我们将最初始的序列元素依次编号 \(1,2,3 \cdot 阅读全文