数论--因子和线性筛模板

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数论--因子和线性筛模板相关的知识,希望对你有一定的参考价值。

  • 网络加深

表现为在卷积神经网络的网络结构方面,在网络结构上增加卷积激活层,使得网络结构越变越深,深层次的网络在训练学习的过程中所考虑的因素就会更多,理论上会更加准确,但是网络的深度要与实际问题相关,在实践中折衷选取,过深过浅都不利于问题的解决。

增强卷积模块功能

表现为在一个卷积块中对特征提取的方式做出改变(也即变更传统卷积层的结构以获取更多的滤波作用),一般处于对feature map的尺度以及优化计算量的考量。


从分类的目标到检测的目标

同样利用CNN,但是设计网络的目标从分类的任务变更为了检测任务,检测任务不仅需要对图片中的区域进行特征提取、对结果进行分类,还要通过相关性的信息将目标框框出。


增加新的功能单元

丰富网络处理某一层输入或者输出的功能,此处的功能单元指传统卷积(Conv)、激活以及全连接、分类器之外的新增功能模块,例如LSTM增加的遗忘门,能够考虑历史数据,增加神经网络的功能。


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define N 500022
int prime[N],cnt;
bool vis[N];
int num[N],e[N];
void init()

for(int i=2;i<=N;++i)

if(!vis[i])

prime[++cnt]=i;
num[i]=i+1;
e[i]=1;

for(int j=1;j<=cnt;++j)

if(prime[j]*i>N) break;
vis[prime[j]*i]=true;
if(i%prime[j]==0)

num[i*prime[j]]=num[i]*prime[j]+e[i];
e[i*prime[j]]=e[i];
break;

num[i*prime[j]]=num[i]*(prime[j]+1);
e[i*prime[j]]=num[i];



int main()

int T;
init();
scanf("%d",&T);
while(T--)

int n;
scanf("%d",&n);
printf("%lld\\n",num[n]);


以上是关于数论--因子和线性筛模板的主要内容,如果未能解决你的问题,请参考以下文章

算法竞赛模板(数论)

模板 - 数论 - 线性筛

数论入门——莫比乌斯函数,欧拉函数,狄利克雷卷积,线性筛,莫比乌斯反演,杜教筛

数学数论素数的线性筛法

算法模板:数论之质数全家桶(内含埃氏筛法,欧拉线性筛法详解)沈七

因子个数打表模板---线性筛法