线性

线性筛--如何线性求约数个数

无人久伴 提交于 2019-12-01 09:26:48
线性筛--如何线性求约数个数 线性筛1654948748 我已经掌握埃氏筛了 为什么还要学线性筛??? 线性筛的时间复杂度是严格 O ( N ) O(N) 的, 而埃氏筛的复杂度是 O ( N ∗ l o g 2 ( l o g 2 ( N ) ) O(N∗log2(log2(N)) 看上去并没有快多少 实际也是 , 但在处理一些大数据时,差距就凸显出来了 算法思路 概述: 和埃氏筛类似的 线性筛是通过枚举到的当前数字乘以某个比该数的最小质因子还小的质数来筛的 (上面这句话有点长, 需要反复理解 暂时不能理解,也没关系,等下代码中我会详细讲的 ) 这样就可以保证每次几乎不会出现重筛的情况,大大减少了循环次数 代码: #include<bits/stdc++.h> using namespace std; #define re register #define ll long long #define in inline #define get getchar() int read() { int t=0; char ch=get; while(ch<'0' || ch>'9') ch=get; while(ch<='9' && ch>='0') t=t*10+ch-'0',ch=get; return t; } const int _=1e7+6; int prime[_],

如何正确的理解激活函数?

淺唱寂寞╮ 提交于 2019-12-01 01:56:22
神经网络中,会得到w0,w1,...wn,这些是各个特征的权重,如果输出output = w0x0+w1x1+...+wnxn 则训练得到的是特征的线性组合,如果只是线性组合,我们完全可以去掉所有隐藏层。 事实上,有很多情况下,特征与输出之间的关系是非线性的,所以我们需要一个通用的,可以逼近所有(线性与非线性)关系的网络 引入非线性激活函数的原因就在这里。 深度学习中,激活函数通常指能够实现非线性映射的函数 常见激活函数: softmax函数 使用方法: 1、不同层的激活函数可以是不一样的。 2、sigmoid函数一般只用在2分类的输出层,且结果与softmax激活函数输出相同,我一般习惯统一使用softmax 3、ReLU (修正线性单元 Rectified Linear Unit) 最常用 y = max(0,x) 4\ 来源: https://www.cnblogs.com/yjybupt/p/11647033.html

高等工程数学(一):线性空间

风格不统一 提交于 2019-11-30 14:07:42
定义1.0 数域 如果复数的一个非空集合 P 含有非零的数,且其中任意两数的和、差、积、商(除数不为零)仍属于该集合,则称数集 P 为一个数域 . 复数 a + bi ; i2 = -1 注意:所有的数域都包含有理数域,且都包含整数 0 和 1 每个数的否(逆)也在同一数域中 定义1.1 线性空间 设V是一个非空集合,P是一个数域。如果满足以下三个条件: 加法运算封闭 加法运算与数域P无关 乘法运算封闭 定义1.2 线性相关与线性无关 定义1.3 线性空间的基 来源: CSDN 作者: Vincenho_ 链接: https://blog.csdn.net/l919898756/article/details/82501868

为什么会有矩阵这东西,矩阵到底有什么用

亡梦爱人 提交于 2019-11-30 13:19:02
在《线性代数》书中, 行列式 和 矩阵 总是如影随行,而且两个确实长得很相似,所以也经常有人混淆两者。 矩阵:有勾必火 行列式: 是指将一些数据建立成 计算方阵 ,经过 规定的计算方法最终得到 一个数 。换句话说, 行列式代表的是一个值 。 而 矩阵 则不同,矩阵表示的是一个 数表,是一个数据的集合体 。换句话说,矩阵更神似于一张n行m列的数字表格,或者Excel表。 最近这几天,京西旅馆的大厨还没到位,采购蔬菜的事情还是落在了小天的身上。 这不,精打细算(抠门)的刘强西就派小天到 村头菜市场 、 村尾王大妈菜摊 和 隔壁村老王农场 去调研不同菜品的价格,说是不能乱花一分钱。。。 小天分别去三个地方分别调研了三种菜品,发现价格真有不同。。。 而之后小天便将得到的数据用矩阵表示出来。 刘强西看到小天提供的矩阵:这是什么鬼,小天,你干嘛用矩阵来表示呀?! 小天:因为矩阵也是一种 表示多维度数据的方式 呀! 刘强西:但这个比Excel表难看,不喜欢,而且没什么用。 小天此时露出鄙夷的眼光:刘boss,你竟然说矩阵没什么用(这个也不怪你,就是现在还有人说数学没什么用),其实之所以做成矩阵的形式,就为了四个字: 便于计算 。 我记得上一次你还跟我说过三种蔬菜的需求量,那我们将需求量做成 需求矩阵B : 那我们就可以得到三个地方的价格( 价格矩阵C ): 如何知道矩阵乘法的本质是什么?

【线性筛】

穿精又带淫゛_ 提交于 2019-11-30 12:46:39
埃拉托斯特尼筛求欧拉函数 代码: int phi(int n) { int ans=n , mm=sqrt(n); for(int i=2;i<=mm;i++){ if(n%i==0) { ans=ans/i*(i-1); while(n%i==0) n/=i; } } if(n>1) ans=ans/n*(n-1); return ans; } 线性筛欧拉函数: void yilin() { phi[1]=1; for(int i=2;i<=n;i++) { if(!vis[i]) { prime[++cnt]=i; phi[i]=i-1; } for(int j=1;j<=cnt&&i*prime[j]<=n;j++) { vis[i*prime[j]]=1; if(i%prime[j]==0) { phi[i*prime[j]]=phi[i]*prime[j];//若prime[j]是i的质因子,则根据计算公式,i已经包括i*prime[j]的所有质因子 break;//保证只被筛过一次 } phi[i*prime[j]]=phi[i]*(prime[j]-1); } } } 线性筛约数和: void init() { sum[1]=1; for(int i=2;i<=n;i++) { if(!vis[i]) { prime[++cnt]=i; sp[i]=i+1;/

使用jasmin求解线性对流方程

元气小坏坏 提交于 2019-11-30 06:16:15
线性对流方程: ∂ u ( x ⃗ , t ) ∂ t + ∇ ⋅ ( a ⃗ ) ⋅ u ( x ⃗ , t ) = 0 , x ⃗ ∈ ω \frac{\partial u(\vec{x} ,t)}{\partial t} + \nabla \cdot (\vec{a}) \cdot u(\vec{x}, t) = 0, \quad \vec{x} \in \omega ∂ t ∂ u ( x , t ) ​ + ∇ ⋅ ( a ) ⋅ u ( x , t ) = 0 , x ∈ ω ( 其 中 , 对 流 速 度 a ⃗ > = 0 , 为 常 量 ) (其中,对流速度 \vec{a} >= 0, 为常量) ( 其 中 , 对 流 速 度 a > = 0 , 为 常 量 ) 初始条件: u ( x ⃗ , 0 ) = u 0 ( x ⃗ ) , x ⃗ ∈ ω u(\vec{x}, 0) = u_0(\vec{x}), \quad \vec{x} \in \omega u ( x , 0 ) = u 0 ​ ( x ) , x ∈ ω 边界条件: u ( x ⃗ , t ) = u Γ ( t ) , x ⃗ ∈ Γ ( ω ) u(\vec{x}, t) = u_{\Gamma}(t), \quad \vec{x} \in \Gamma_(\omega) u ( x , t

BM求线性递推式(板子整理)

守給你的承諾、 提交于 2019-11-30 05:47:04
心得 杜老师的奇技淫巧,绝大多数不懂原理,但只要套板子就行了 板子整理 以2019牛客多校B题为例,求出dp[0]到dp[2*k]塞入名为ans的vector 要求第n项时,直接linear_seq::(gao,n)即可, 如果不放第0项的话,就是linear_seq::(gao,n-1) 一般暴力打表7-8项保证绝对正确即可,不放心的话可以多打几项 常用于矩阵快速幂的dp线性递推式的问题 #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=1e9+7; const int N=1024; ll modpow(ll a,ll b,ll mod) {ll res=1;a%=mod; for(;b;b>>=1){if(b&1)res=res*a%mod;a=a*a%mod;}return res;} ll inv(ll x){return modpow(x,mod-2,mod);} namespace linear_seq { #define rep(i,a,n) for (int i=a;i<n;i++) #define per(i,a,n) for (int i=n-1;i>=a;i--) #define pb push_back #define mp make_pair