筛法(埃筛、线性筛)学习笔记
一、问题引入
求 111 ~ nnn 闭区间内的所有质数。
二、问题分析
1. 朴素的素数筛法
很自然的一种想法就是对 111 到 nnn 之间的所有数进行一次素数检验,不过显然这种方式很低效,大致复杂度为 O(nn)O(n\sqrt{n})O(nn)。
2. Eratosthenes筛法
埃拉托斯特尼筛法,简称埃氏筛法、埃筛。
埃筛用到的原理十分简单:一个质数 ppp 的任意 x(x⩾1)x(x \geqslant 1)x(x⩾1) 倍都是合数,对于任意一个合数 ccc 都存在一个质数 ppp 使得 c=xp(x∈N,1<x<n)c=xp(x \in \mathbb{N}, 1\lt x\lt n)c=xp(x∈N,1<x<n)。这句话的前半句保证了埃筛通过质数的若干倍筛去的数必定是合数,而后半句表示了埃筛必定可以在筛去所有的合数。采用从 111 到 nnn 的遍历顺序,就可以在遍历到某个合数之前筛去它,从而得到素数表。
2.1 Eratosthenes筛法的代码实现
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e8;
int prime[maxn], cnt;
bool vist[maxn + 1];
void Eratothenes(int n){for (int i = 2; i <= n; i ++){if (!vist[i]){prime[++ cnt] = i;for (long long j = 1ll * i * i; j <= n; j += i){vist[j] = true;}}}printf("%d\n", cnt);
}
int main(){Eratothenes(maxn);return 0;
}
以上是Eratothenes筛法的代码,其复杂度为 O(nloglogn)O(nloglogn)O(nloglogn)。实测运行时间大致如下。
数据范围 | 运行时间 |
---|---|
⩽106\leqslant10^6⩽106 | ⩽0.1s\leqslant 0.1s⩽0.1s |
⩽107\leqslant 10^7⩽107 | ⩽0.2s\leqslant 0.2s⩽0.2s |
⩽108\leqslant 10^8⩽108 | ≈1.5s\approx 1.5s≈1.5s |
需要说明的是,由于 i2i^2i2 以下的合数必定被比 iii 小的质数筛掉了,因此每次筛选从 i2i^2i2 开始到 nnn。
2.2 Eratothenes筛法的时间效率优化
2.2.1 减小筛法上界
需要求出 111 到 nnn 的所有质数,并不需要取质数进行筛选,只需要取小于 n\sqrt{n}n 的质数筛选即可。变化如下:
void Eratothenes(){int i;for (i = 2; i * i <= n; i ++){ // 循环终止条件变化if (!vist[i]){prime[++ cnt] = i;for (long long j = 1ll * i * i; j <= n; j += i){vist[j] = true;}}}// 统计后续的质数for (; i <= n; i ++)if (!vist[i]) prime[++ cnt] = i;printf("%d\n", cnt);
}
不过优化并不会减少埃筛的时间复杂度,只是减少运算次数而已。
2.2.2 只筛奇数
由于非 222 的偶数都是合数,所以不用考虑奇数,只关心奇数即可。
这样,相当于少了一半的操作。变化如下:
void Eratothenes(int n){int i;prime[++ cnt] = 2;for (i = 3; i * i <= n; i += 2){ // 步长变为2if (!vist[i]){prime[++ cnt] = i;for (long long j = 1ll * i * i; j <= n; j += 2 * i){vist[j] = true;}}}for (; i <= n; i += 2) // 步长变为2if (!vist[i]) prime[++ cnt] = i;printf("%d\n", cnt);
}
加上两种优化后会提高埃筛的时间效率,实测运行时间大致如下。
数据范围 | 运行时间 |
---|---|
⩽106\leqslant 10^6⩽106 | ⩽0.1s\leqslant 0.1s⩽0.1s |
⩽107\leqslant 10^7⩽107 | ≈0.11s\approx 0.11s≈0.11s |
⩽108\leqslant 10^8⩽108 | ≈0.9s\approx 0.9s≈0.9s |
2.3 Eratothenes筛法的空间效率优化
2.3.1 质数个数的渐进
由质数个数函数的渐近 π(x)≈nlnn\pi(x)\approx\frac{n}{\ln n}π(x)≈lnnn 可知,质数数组的长度可以比 nnn 小,大致是 nlnn\frac{n}{\ln n}lnnn 量级,使用不定长数组(vector)可以稍稍节约空间。
2.3.2 压位
vist数组的每一位其实只需要一个bit,因此可以采用vector<bool> 或者bitset优化空间,从 nnn byte优化至 nnn bit。
2.3.3 分块存储
由于只需要取小于 n\sqrt{n}n 的质数进行筛选,因此,只需要保存 111 到 n\sqrt{n}n 的vist数组,然后对后面的数分成 ⌈ns⌉\lceil \frac {n} {s}\rceil⌈sn⌉ 个大小为 sss 块,用前几个质数筛每一个块里的数,因此每次只需要 ⌈ns⌉\lceil \frac {n} {s}\rceil⌈sn⌉ 大小的数组,总空间复杂度为 O(n+s)O(\sqrt{n} + s)O(n+s)。优化后代码如下:
void Eratothenes(int n){int i;vector <int> prime;int sqrt_n = sqrt(n);vector <bool> vist(sqrt_n + 1, false);// 筛出1~sqrt(n)的所有质数for (int i = 2; i <= sqrt_n; i ++){if (!vist[i]){prime.push_back(i);for (long long j = i * i; j <= sqrt_n; j += i) vist[j] = true;}}// 分块const int sz = 1e4;int cnt = 0;for (int num = 0; num * sz <= n; num ++){vector <bool> blk(sz, false);int l = num * sz; // 区间左端点if (num == 0) blk[0] = blk[1] = true; // 特判for (int i = 0; i < prime.size(); i ++){ // 使用每一个质数进行筛选int p = prime[i];int st = (l + p - 1) / p; // 块内首个可以被p整除的数for (int j = max(st * p, p * p) - l; j < sz; j += p) blk[j] = true;}for (int i = 0; i < sz && i + l <= n; i ++)if (!blk[i]) cnt ++;}printf("%d\n", cnt);
}
3. Euler筛法
即使对埃筛进行上述优化,依然会有合数会被多个质数筛掉。下面介绍Euler筛法,将筛法的复杂度优化至线性。
Euler筛法,又称欧拉筛、线性筛法、线筛。是一种可以在线性时间复杂度内求出 111 ~ nnn 之间所有质数的筛法。思路是:让每个合数只被其最小的质因子筛去,从而保证每个合数只被筛去一次,做到线性复杂度。
3.1 Euler筛法的代码实现
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e8;
int prime[maxn], cnt;
bool vist[maxn + 1];
void Euler(int n){for (int i = 2; i <= n; i ++){if (!vist[i]) prime[++ cnt] = i;for (int j = 1; j <= cnt && i * prime[j] <= n; j ++){vist[i * prime[j]] = true;if (prime[j] % i == 0) break;}}printf("%d\n", cnt);
}
int main(){Euler(maxn);return 0;
}
以上是Euler筛法的代码,其复杂度为 O(n)O(n)O(n),实测运行时间略慢于埃筛。这点令我十分惊讶,究其原因可能是因为Euler筛法需要多次取模,导致常数稍大。
3.2 Euler筛法的应用
由于每次通过两数的乘积筛去合数,因此Euler筛法可以用来求某些积性函数的值。
3.2.1 Euler筛法求欧拉函数的值
关于欧拉函数的介绍,可以参考这一篇文章。
通过 φ(i)\varphi(i)φ(i) 和 φ(prime[j])\varphi(prime[j])φ(prime[j]) 计算 φ(i∗prime[j])\varphi(i*prime[j])φ(i∗prime[j]) 分成两种情况。
- case 1: gcd(i,prime[j])=1gcd(i, prime[j]) = 1gcd(i,prime[j])=1,由积性函数的性质有:
φ(i∗prime[j])=φ(i)∗φ(prime[j])=φ(i)∗(prime[j]−1)\varphi(i*prime[j]) = \varphi(i) * \varphi(prime[j]) = \varphi(i) * (prime[j] - 1)φ(i∗prime[j])=φ(i)∗φ(prime[j])=φ(i)∗(prime[j]−1) - case 2: gcd(i,prime[j])=prime[j]gcd(i, prime[j]) = prime[j]gcd(i,prime[j])=prime[j],根据 i∗prime[j]i*prime[j]i∗prime[j] 和 iii 的唯一分解、欧拉函数的性质有:
φ(i∗prime[j])=(i∗prime[j])∗Πi=1k(1−1pi)=prime[j]∗(i∗Πi=1k(1−1pi))=prime[j]∗φ(i)\varphi(i*prime[j]) = (i*prime[j])*\Pi_{i=1}^{k}(1-\frac{1}{p_i})=prime[j]*(i*\Pi_{i=1}^{k}(1-\frac{1}{p_i})) = prime[j] * \varphi(i)φ(i∗prime[j])=(i∗prime[j])∗Πi=1k(1−pi1)=prime[j]∗(i∗Πi=1k(1−pi1))=prime[j]∗φ(i)
代码如下。
#include <bits/stdc++.h>
using namespace std;
const int maxn = 10000;
int phi[maxn];
int prime[maxn], cnt;
bool vist[maxn + 1];
void Euler(int n){phi[1] = 1;for (int i = 2; i <= n; i ++){if (!vist[i]) prime[++ cnt] = i, phi[i] = i - 1;for (int j = 1; j <= cnt && i * prime[j] <= n; j ++){vist[i * prime[j]] = true;if (i % prime[j] != 0) phi[i * prime[j]] = phi[i] * (prime[j] - 1);else {phi[i * prime[j]] = phi[i] * prime[j];break;}}}
}
int main(){Euler(maxn);for (int i = 2; i <= maxn; i ++) printf("%d: %d\n", i, phi[i]);return 0;
}
3.2.2 Euler筛法求约数个数函数的值
约数个数函数,用 d(x)d(x)d(x) 表示,其值为 xxx 的约数个数。根据 xxx 的唯一分解和乘法原理可得:
若 x=Πa=1kpacax = \Pi_{a = 1}^{k}p_a^{c_a}x=Πa=1kpaca,则 d(x)=Πi=ak(ca+1)d(x) = \Pi_{i =a}^{k}(c_a + 1)d(x)=Πi=ak(ca+1)。
易证约数个数函数为积性函数,尝试通过Euler筛法计算,分类讨论。
- case 1: gcd(i,prime[j])=1gcd(i, prime[j]) = 1gcd(i,prime[j])=1,由积性函数性质有:
d(i∗prime[j])=d(i)∗d(prime[j])=2d(i)d(i * prime[j]) = d(i) * d(prime[j]) = 2d(i)d(i∗prime[j])=d(i)∗d(prime[j])=2d(i) - case 2: gcd(i,prime[j])=prime[j]gcd(i, prime[j]) = prime[j]gcd(i,prime[j])=prime[j],由 i∗prime[j]i*prime[j]i∗prime[j] 和 iii 的唯一分解、约数个数函数的性质有(由于 prime[j]prime[j]prime[j] 为 iii 的最小质因子,不妨设 i=(prime[j])c1∗Πa=2kpacai = (prime[j])^{c_1}*\Pi_{a=2}^{k}p_a^{c_a}i=(prime[j])c1∗Πa=2kpaca):
d(i∗prime[j])=(c1+2)∗Πa=2k(ca+1)=c1+2c1+1∗Πa=1kca=c1+2c1+1d(i)d(i * prime[j]) = (c_1+2)*\Pi_{a=2}^{k}(c_a + 1) = \frac{c_1+2}{c_1+1}*\Pi_{a=1}^{k}c_a = \frac{c_1+2}{c_1+1}d(i)d(i∗prime[j])=(c1+2)∗Πa=2k(ca+1)=c1+1c1+2∗Πa=1kca=c1+1c1+2d(i)
因此,要计算 d(x)d(x)d(x) 的值,只需要记录最小质因子对应的次数 c1c_1c1 后用同样的方式计算即可。
代码如下。
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6;
int d[maxn], c[maxn];
int prime[maxn], cnt;
bool vist[maxn + 1];
void Euler(int n){d[1] = 1;for (int i = 2; i <= n; i ++){if (!vist[i]) prime[++ cnt] = i, d[i] = 2, c[i] = 1;for (int j = 1; j <= cnt && i * prime[j] <= n; j ++){vist[i * prime[j]] = true;if (i % prime[j] != 0){c[i * prime[j]] = 1;d[i * prime[j]] = d[i] * 2;}else {c[i * prime[j]] = c[i] + 1;d[i * prime[j]] = d[i] / c[i * prime[j]] * (c[i * prime[j]] + 1);break;}}}
}
int main(){Euler(maxn);for (int i = 1; i <= 100; i ++) printf("%d: %d\n", i, d[i]);return 0;
}
3.2.3 Euler筛法求约数和函数的值
约束和函数,记作 sumd(x)sumd(x)sumd(x),其值为 xxx 的所有约数的和。根据 xxx 的唯一分解和加乘原理可得:
若 x=Πa=1kpacax = \Pi_{a=1}^{k}p_a^{c_a}x=Πa=1kpaca,则 sumd(x)=Πa=1k(Σb=0capab)sumd(x) = \Pi_{a=1}^{k}(\Sigma_{b=0}^{c_a}p_a^{b})sumd(x)=Πa=1k(Σb=0capab)。
同样易证,约束和函数为积性函数,尝试通过Euler筛法计算,分类讨论。
- case 1: gcd(i,prime[j])=1gcd(i, prime[j])=1gcd(i,prime[j])=1,由积性函数性质有:
sumd(i∗prime[j])=sumd(i)∗sumd(prime[j])=sum(d)∗(1+prime[j])sumd(i * prime[j]) = sumd(i) * sumd(prime[j]) = sum(d) * (1 + prime[j])sumd(i∗prime[j])=sumd(i)∗sumd(prime[j])=sum(d)∗(1+prime[j]) - case 2: gcd(i,prime[j])=prime[j]gcd(i, prime[j]) = prime[j]gcd(i,prime[j])=prime[j],由 i∗prime[j]i*prime[j]i∗prime[j] 和 iii 的唯一分解、约数个数函数的性质有(由于 prime[j]prime[j]prime[j] 为 iii 的最小质因子,不妨设 i=(prime[j])c1∗Πa=2kpacai = (prime[j])^{c_1}*\Pi_{a=2}^{k}p_a^{c_a}i=(prime[j])c1∗Πa=2kpaca):
sumd(i∗prime[j])=Σb=0c1+1prime[j]b∗Πa=2k(Σb=0capab)=Σb=0c1+1prime[j]bΣb=0c1prime[j]b∗Πa=1k(Σb=0capab)=Σb=0c1+1prime[j]bΣb=0c1prime[j]b∗sumd(i)sumd(i * prime[j]) = \Sigma_{b=0}^{c_1 + 1}prime[j]^{b}*\Pi_{a=2}^{k}(\Sigma_{b=0}^{c_a}p_a^{b}) = \frac{\Sigma_{b=0}^{c_1 + 1}prime[j]^{b}}{\Sigma_{b=0}^{c_1 }prime[j]^{b}}*\Pi_{a=1}^{k}(\Sigma_{b=0}^{c_a}p_a^{b})=\frac{\Sigma_{b=0}^{c_1 + 1}prime[j]^{b}}{\Sigma_{b=0}^{c_1 }prime[j]^{b}}*sumd(i)sumd(i∗prime[j])=Σb=0c1+1prime[j]b∗Πa=2k(Σb=0capab)=Σb=0c1prime[j]bΣb=0c1+1prime[j]b∗Πa=1k(Σb=0capab)=Σb=0c1prime[j]bΣb=0c1+1prime[j]b∗sumd(i)
又观察到:
Σb=0c1+1prime[j]b=(Σb=0c1prime[j]b)∗prime[j]+1\Sigma_{b=0}^{c_1 + 1}prime[j]^{b} = (\Sigma_{b=0}^{c_1 }prime[j]^{b}) * prime[j] + 1Σb=0c1+1prime[j]b=(Σb=0c1prime[j]b)∗prime[j]+1
因此,要计算 sumd(x)sumd(x)sumd(x) 的值,只需要记录其最小质因子的累计幂级数的和(Σb=0c1prime[j]b\Sigma_{b=0}^{c_1 }prime[j]^{b}Σb=0c1prime[j]b),依次递推,用与约数个数函数相同的方式计算即可。
代码如下。
#include <bits/stdc++.h>
using namespace std;
const int maxn = 100;
long long sumd[maxn], pre[maxn];
int prime[maxn], cnt;
bool vist[maxn + 1];void Euler(int n){sumd[1] = 1;for (int i = 2; i <= n; i ++){if (!vist[i]) prime[++ cnt] = i, sumd[i] = 1 + i, pre[i] = 1 + i;for (int j = 1; j <= cnt && i * prime[j] <= n; j ++){vist[i * prime[j]] = true;if (i % prime[j] != 0){pre[i * prime[j]] = (1 + prime[j]);sumd[i * prime[j]] = sumd[i] * (1 + prime[j]);}else {pre[i * prime[j]] = pre[i] * prime[j] + 1;sumd[i * prime[j]] = sumd[i] / pre[i] * pre[i * prime[j]];break;}}}
}int main(){Euler(maxn);for (int i = 1; i <= 100; i ++) printf("%d: %d\n", i, sumd[i]);return 0;
}
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 04 MyBatis数据操作
1 初识MyBatis 1.1 MyBatis框架简介 MyBatis框架可以简化数据库编程!MyBatis底层封装的是JDBC,使用起来比JDBC大大简化。 在使用MyBatis实现数据库编程时,只需要定义每个数据操作功能的抽象方法,并配置这个抽象方法对应的SQL语…...
2024/4/28 0:27:19 - 002SpringIOC001IOC概述和入门案例
1 简介 1.1 IOC简介 IOC(Inverse of Controll),即反转控制。 在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取所需要的资源。在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式&#x…...
2024/4/28 11:33:59 - 项目管理的整体进度的中间阶段
项目的中盘时段,就是项目整体进度的中间阶段。 当你发现有些事情正在进行,有些事情并未进行,有些问题已经发现并解决,有些问题还没有找出来,这时,你就明白已经进入中盘阶段。中盘阶段很有挑战性࿰…...
2024/4/27 22:13:37 - 浅谈-----虚函数、纯虚函数、基类析构虚函数
虚函数 //C的多态性通过虚函数来体现,体现为类与类直接的继承关系--》子类完成对基类的重写。 //定义基类(具有一定包容性)部分成员函数写为虚函数。 //定义子类、集成基类、并且重写 虚函数。(对比基类的包容性、子类有具体性&a…...
2024/4/14 14:47:30 - 时间序列 工具库学习(10) Darts模块-Transformer模型
1.导库 # fix python path if working locally from utils import fix_pythonpath_if_working_locallyfix_pythonpath_if_working_locally()%load_ext autoreload %autoreload 2 %matplotlib inlineimport torch import torch.nn as nn import torch.optim as optim import nu…...
2024/4/18 8:29:07 - 时间序列 工具库学习(9) Darts模块-TCN时间卷积网络
1.导库 # fix python path if working locally from utils import fix_pythonpath_if_working_locallyfix_pythonpath_if_working_locally()import numpy as np import pandas as pd import matplotlib.pyplot as pltfrom darts import TimeSeries from darts.models import T…...
2024/4/19 12:41:05 - 流密码立方攻击(基于图算法)
流密码常见概念 流密码(Stream cipher)是对称加密的一种。流密码将明文(Plaintex)看成二进制数据流,通过初始密钥生成加密密钥流ziz_izi与明文流pip_ipi做异或操作获得密文流cic_ici,即cipi⊕zic_ip_i\oplus{z_i}cipi⊕zi。由于异或操作是可…...
2024/4/14 14:14:01 - 《MySQL技术》学习笔记——数据类型
MySQL技术内幕——数据类型数据值类别数值字符串值时态(日期/时间)值空间值布尔值NULL值MySQL数据类型数据类型概述表定义里的特殊列类型指定列的默认值数字数据类型字符串数据类型时态(日期/时间)数据类型MySQL如何处理无效数据值…...
2024/4/5 5:03:39 - 在Unity C#中创建2D自上而下射击游戏
在Unity中创建2D自上而下射击游戏 你会学到什么 打造2D游戏 让NPC跟随玩家或与玩家并肩作战 用C#编程 制作库存 MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确&…...
2024/4/18 1:38:49 - 04 MyBati数据操作
1 初识MyBatis 1.1 MyBatis框架简介 MyBatis框架可以简化数据库编程!MyBatis底层封装的是JDBC,使用起来比JDBC大大简化。 在使用MyBatis实现数据库编程时,只需要定义每个数据操作功能的抽象方法,并配置这个抽象方法对应的SQL语…...
2024/4/14 14:14:06 - 在小公司混水摸鱼3年,被面试官直接开怼:能力太差了,2021大厂Android高级面试题及答案
知乎上有个问题,叫做 如何高效学习,里面有一个回答我觉得很符合我自己的观点,就是 建立起自己的知识体系,建立知识体系的目的在于: 巩固记忆。 认识自己,找到自己的优势及不足。 把握复习的进度。 经验…...
2024/4/14 14:14:41 - 2022-1-18学习总结
上午(3.5h) 上午在b站上继续学习并查集,然后ac了两道洛谷题 【模板】并查集 主要思路: 这道题主要就是并查集的查询和合并操作。然后我们把每个节点的上一个节点成为父亲,每个节点的最顶端节点称为祖先。刚开始把每个节点的父亲都…...
2024/4/14 14:15:32 - 34、DNS域名解析服务
文章目录DNS域名解析服务BIND域名服务基础DNS系统的作用及类型两种查询方式(1)递归查询( 2)迭代查询DNS服务器类型:BIND的安装和配置文件1、正向解析2、反向解析3、主从服务器自动同步4、dns分离解析总结:DNS域名解析服务 本章结构 BIND域名服务基础 DNS系统的作…...
2024/4/15 21:58:51 - 【LeetCode 单链表专项】排序链表(148)
文章目录1. 题目1.1 示例1.2 说明1.3 限制1.4 进阶2. 解法一(自顶向下归并排序)2.1 分析2.2 解答2.2.1 递归合并2.2.2 迭代合并2.3 复杂度3. 解法二(自底向上归并排序)3.1 分析3.2 解答3.3 复杂度1. 题目 给你链表的头结点 head …...
2024/4/14 14:14:11 - robotframework-novel2
第二部 第七章 暑 假 延安看上去好像一场大雨就可以把它冲走似的。这座小城覆盖着一层薄薄的黄色沙尘,城边那些斑驳的山坡上满布着半圆形的窑洞。在延安的郊区,人们仍旧居住在窑洞里,但很多穴居者还是喜欢显山露水。有的窑洞已经用上了电视…...
2024/4/14 14:14:21 - 5_Java_使用对象
一个字符的常量是用单引号包围起来的一个字符,如’a’、’*’、‘好’。一个汉字也是Unicode的一个字符,所以也是Java的一个字符; 字符类型 单个字符 package hello;import java.util.Scanner;public class Main{public static void main(…...
2024/4/14 14:14:26 - UE材质中的数学逻辑学习与理解 Real life complex materials for UE
学习在虚幻引擎中寻找酷素材的背后,深刻理解你的数学 你会学到什么 创建你在职业生涯中将使用的材料的真实例子 不仅要在虚幻引擎中创建酷的素材,还要理解它们 学习制作材料时的技巧和正确的心态 MP4 |视频:h264,1280720 |音频:AACÿ…...
2024/4/14 14:14:36 - 5.8 哈夫曼树的定义和构造(带权路径长度、可变长度编码、前缀编码、哈夫曼编码)
1. 知识总览2. 带权路径长度3. 哈夫曼树的定义4. 哈夫曼树的构造5. 哈夫曼编码 5.1 可变长度编码5.2 前缀编码 6. 英文字母频次7. 知识回顾 1. 知识总览 2. 带权路径长度 3. 哈夫曼树的定义 4. 哈夫曼树的构造 5. 哈夫曼编码 5.1 可变长度编码 5.2 前缀编码 6. 英文字母频次 7.…...
2024/4/14 14:51:45 - 别往下翻了,三句话说清楚跨域资源请求报错的由来
别往下翻了,三句话说清楚跨域资源请求报错的由来 工作中很多同学老是遇到跨域的问题,比如这样的报错 Access to XMLHttpRequest at http://test.com.cn/get from origin http://local.com.cn:8080 has been blocked by CORS policy: No Access-Contro…...
2024/4/7 4:50:42 - java ssm高校后勤综合数据管理与分析系统设计与实现源码+论文+远程安装部署+代码讲解
下载:https://download.csdn.net/download/AAshou/76531770 项目介绍: java ssm高校后勤综合数据管理与分析系统设计与实现源码论文远程安装部署代码讲解 系统说明: 摘 要 随着信息技术特别是互联网技术的迅速发展,高校后勤信息化进程不断推进&…...
2024/4/7 4:50:40
最新文章
- 答题卡识别源码调研汇总
网上资料太多,把无效的去除,整理的有用的代码链接。 https://github.com/20km-shimakaze/Identify_answer_cards/tree/master https://github.com/leeguandong/Answer_card_identification https://github.com/Wasim37/answer_card_detection https://github.com/StuOfBupt/…...
2024/4/28 16:38:09 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - DNS和HTTP
DNS应用层协议 域名解析系统 使用IP地址,来描述设备在网络上的位置 IP地址并不适合来进行传播网站,就采用了域名的方式来解决网站传播的问题。如www.baidu.com这样类似的就很容易让人记住。其域名就直接代表了这个网站。而且有一套自动的系统会将域名解…...
2024/4/26 18:10:58 - windows系统安装RabbitMQ
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客…...
2024/4/23 20:16:53 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/28 13:52:11 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/28 3:28:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/28 13:51:37 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/28 15:57:13 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/28 1:22:35 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57