由于第一次打,只能打ABC了 比赛代码 A 直接输出 B 每个位置比较 C 枚举第一个书架的位置,第二个书架单调 D 线性筛,貌似$O(nlogn)$也能过... 官方题解有个更简单的方法,对于每个因子,其贡献为等差数列 E 强制两数组位置相同,容斥 F 比赛的时候写的是乱搞,要调参...具体可以看 ...
分类:
其他好文 时间:
2020-06-28 20:51:51
阅读次数:
917
#include<algorithm> #include<cstdio> #include<cstdlib> #include<iostream> #include<cmath> #include<cstring> #include<string> #include<queue> using nam ...
分类:
其他好文 时间:
2020-06-13 00:07:49
阅读次数:
88
1 const int maxn = 1e6+10; 2 3 int prime[maxn]; 4 int vis[maxn]; 5 int cnt; 6 7 void is_prime() {//线性筛 8 for (int i = 2; i < maxn; i++) { 9 if (!vis[i ...
分类:
其他好文 时间:
2020-05-13 20:32:06
阅读次数:
73
除了处理质数的问题,线性筛还可以较为高效的处理数论函数,虽然有杜教筛这个东西,关键的时候还是要线性筛救命 1.筛质数 先看看线性筛本体,它的功能是判断质数,以及求最小质因数 1.记录minfactor,prime 2.对cur一直用prime数组筛去剩下的合数 这里判断质数的标准很简单,就是判断一个 ...
分类:
其他好文 时间:
2020-05-06 14:11:56
阅读次数:
83
通过判断使每一个合数只被其最小质因子筛去一次。 ...
分类:
其他好文 时间:
2020-05-05 10:55:09
阅读次数:
47
const int N=10010; int prime[N]; bool v[N]; void get_primes(int n) { memset(v,0,sizeof(v)); m=0; for(int i=2;i<n;i++)//循环遍历2~n的质数 { if(!v[i]){v[i]=i,p ...
分类:
其他好文 时间:
2020-04-22 16:51:43
阅读次数:
87
目录 "目录地址" "上一篇" "下一篇" 线性求逆元题型 对于已知模数 $m$ ,求出在模 $m$ 意义下, $1$~$(m 1)$ 的逆元 $m$ 较大,只支持 $O(m)$ 复杂度的算法 线性算法 $O(n)$ 由递推的方法 $O(n)$ 考虑模 $m$ 意义下 $1^{ 1}\equiv 1 ...
分类:
其他好文 时间:
2020-03-03 10:42:08
阅读次数:
86
积性函数筛法 很多常用的数论函数都是积性函数,而在题目中,我们常常需要线性(甚至更高)的筛法。 对于积性函数,我们可以在筛素数的基础上稍加修改,即可完成线性筛。 首先,注意到积性函数的特点: $$ f(xy)=f(x)\times f(y) $$ 而可以线性筛的积性函数,需要知道以下两个式子的快速求 ...
分类:
其他好文 时间:
2020-02-24 20:43:54
阅读次数:
79
Part 0:概念 先给几个概念( 很重要 ): 合数 :如果$xy=z\text{且}x,y\text{为正整数}$,我们就说$x,y\text{是}z\text{的合数}$ 素数 :如果数$a$的 合数 只有$1,a$,则$a$就是一个素数 整除 :整数$b$除以非零整数$a$,商为整数,且余数 ...
分类:
编程语言 时间:
2020-02-17 15:59:09
阅读次数:
72
题面 "传送门" 题目描述 输入格式 输出格式 输入输出样例 说明/提示 时空限制:500ms 128M 数据规模: 对于30%的数据:N(模板题不都是这样吗,你个大菜鸡(自言自语. ) 这题还可以用别的更优的素数筛法,比如 之类的,之后我会考虑写一篇文章具体总结一下。 但是这篇题解我们只考虑欧拉筛 ...
分类:
其他好文 时间:
2020-02-15 19:13:07
阅读次数:
86