数论--因子和线性筛模板
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]);
以上是关于数论--因子和线性筛模板的主要内容,如果未能解决你的问题,请参考以下文章
数论入门——莫比乌斯函数,欧拉函数,狄利克雷卷积,线性筛,莫比乌斯反演,杜教筛