当前位置: 首页 > news >正文

什么行业做网站搜索wordpress添加skype

什么行业做网站搜索,wordpress添加skype,pc网站建设有什么功能,东莞外贸公司网站建设一、 斯特林数概述 1.1 组合数学中的核心地位 斯特林数#xff08;Stirling Numbers#xff09;是组合数学中连接排列、组合与分划问题的核心工具#xff0c;分为两类#xff1a; 第一类斯特林数#xff08;Stirling Numbers of the First Kind#xff09;#xff1a…一、 斯特林数概述 1.1 组合数学中的核心地位 斯特林数Stirling Numbers是组合数学中连接排列、组合与分划问题的核心工具分为两类 第一类斯特林数Stirling Numbers of the First Kind描述排列的循环分解第二类斯特ling数Stirling Numbers of the Second Kind描述集合的划分方式 1.2 数学符号体系 第一类斯特林数 s ( n , k ) s(n,k) s(n,k) 或 [ n , k ] [n,k] [n,k]第二类斯特ling数 S ( n , k ) S(n,k) S(n,k) 或 { n k } {n \brace k} {kn​}关键性质 s ( n , 1 ) ( − 1 ) n − 1 ( n − 1 ) ! S ( n , 1 ) 1 S ( n , n ) 1 s(n,1)(-1)^{n-1}(n-1)!S(n,1)1S(n,n)1 s(n,1)(−1)n−1(n−1)!S(n,1)1S(n,n)1 (下文讲解时第一类为S1数组为s1相应的为S2s2) 1.3 历史溯源 James Stirling1692-1770在《Methodus Differentialis》中首次系统研究与牛顿插值公式、差分算子的早期发展密切相关与欧拉数、贝尔数的早期关联与区分 二、 第一类斯特林数s(n,k) 2.1 组合定义 描述n个元素的排列中恰好包含k个独立循环的数目符号遵循 s ( n , k ) ( − 1 ) n − k ∗ c ( n , k ) s(n,k) (-1)^{n-k} * c(n,k) s(n,k)(−1)n−k∗c(n,k)带符号版本 c ( n , k ) ∣ s ( n , k ) ∣ c(n,k) |s(n,k)| c(n,k)∣s(n,k)∣无符号版本主要应用于圆桌排列问题 2.2 递推公式 c ( n 1 , k ) c ( n , k − 1 ) n ⋅ c ( n , k ) c(n1,k) c(n,k-1) n \cdot c(n,k) c(n1,k)c(n,k−1)n⋅c(n,k) 边界条件 c ( n , 0 ) 0 n 0 c(n,0)0n0 c(n,0)0n0 c ( n , n ) 1 c(n,n)1 c(n,n)1 c ( n , 1 ) ( n − 1 ) ! c(n,1)(n-1)! c(n,1)(n−1)! 递推 Code: inline int S(int n, int k){S[0][0] 1;for(int i 1; i N; i){for(int j 1; j M; j){S[i][j] (S[i-1][j-1](i-1)*S[i-1][j])%p;}}return s[n][k]; }2.3 生成函数 上升阶乘生成式 x ( n ) ∑ k 0 n c ( n , k ) x k x^{(n)} \sum_{k0}^n c(n,k) x^k x(n)k0∑n​c(n,k)xk 下降阶乘展开 ( x ) n ∑ k 0 n s ( n , k ) x k (x)_n \sum_{k0}^n s(n,k) x^k (x)n​k0∑n​s(n,k)xk 2.4 C动态规划实现 vectorvectorlong long S1(int n, int k){vectorvectorlong long s(n1, vectorlong long(k1, 0));for(int i 0; i n; i) s[i][0] 0;for(int i 0; i k; i) s[0][i] (i0);for(int i 1; i n; i){for(int j 1; j min(i, k); j){s[i][j] s[i-1][j-1](i-1)*s[i-1][j];}}return s; }2.5 应用实例 排列生成算法优化 //使用斯特林数优化循环分解计数 vectorint CMP(int n){vectorint p;int cur 1;for(int i 1; i n; i){if(i n || (rand()%i) 0){p.push_back(cur);cur 1;}else{cur;}}return p; }三、 第二类斯特林数S(n,k) 3.1 集合划分模型 描述将n个不同元素划分为k个非空子集的方式数满足 S ( n , k ) S ( n − 1 , k − 1 ) k ∗ S ( n − 1 , k ) S(n,k) S(n-1,k-1) k*S(n-1,k) S(n,k)S(n−1,k−1)k∗S(n−1,k)Bell数 B n Σ k 1 n S ( n , k ) B_n Σ_{k1}^n S(n,k) Bn​Σk1n​S(n,k) 递推 Code: inline int S2(int n, int k){s2[0][0]1;//p 1e97;for(int i 1; i N; i){for(int j 1; j M; j){s2[i][j] (s2[i-1][j-1]j*s2[i-1][j])%p;}}return s2[n][k]; }3.2 排列组合关系 包含排除原理公式 S ( n , k ) 1 k ! ∑ i 0 k ( − 1 ) k − i ( k i ) i n S(n,k) \frac{1}{k!} \sum_{i0}^k (-1)^{k-i} \binom{k}{i} i^n S(n,k)k!1​i0∑k​(−1)k−i(ik​)in 3.3 生成函数 指数型生成函数 ∑ n k ∞ S ( n , k ) x n n ! ( e x − 1 ) k k ! \sum_{nk}^\infty S(n,k) \frac{x^n}{n!} \frac{(e^x -1)^k}{k!} nk∑∞​S(n,k)n!xn​k!(ex−1)k​ 3.4 C优化实现 矩阵快速幂加速 typedef vectorvectorlong long Matrix;inline Matrix mul(const Matrix a, const Matrix b, int p){int n a.size();Matrix res(n, vectorlong long(n, 0));for(int i 0; i n; i){for(int k 0; k n; k){if(a[i][k] 0) continue;for(int j 0; j n; j){res[i][j] (res[i][j]a[i][k]*b[k][j]) % p;}}}return res; }inline Matrix POW(Matrix a, int power, int p){int n a.size();Matrix res(n, vectorlong long(n, 0));for(int i 0; i n; i) res[i][i] 1;while(power 0){if(power%2 1) res mul(res, a, p);a mul(a, a, p);power / 2;}return res; }inline long long S2(int n, int k, int p){Matrix base(k2, vectorlong long(k2, 0));for(int i 0; i k; i) base[i][i1] 1;for(int i 0; i k; i base[i][i] i;Matrix res POW(base, n, p);return res[0][k]; }3.5 分治算法应用 集合划分枚举 inline void Part(int n, int k, vectorint cur){if(n 0 k 0){for(int x : cur) cout x ;cout \n;return;}if(k 0 || n 0) return;cur.push_back(1);Part(n-1, k-1, cur);cur.pop_back();if(k n){cur.back();Part(n-1, k, cur);cur.back()--;} }四、 性能优化与大数据处理 实际做题的时候可能简单的模板复杂度太高很容易TLE。 需要根据题目数据进行相应的算法优化。 4.1 数值稳定性分析 当n20时普通整数类型溢出大数处理方案 #include gmpxx.h using namespace std; using namespace mpz_class_literals;inline vectormpz_class S2(int n, int k){vectormpz_class s(n1, 0);s[0] 1;for(int i 1; i n; i){for(int j 1; j min(i, k); j){s[j] s[j-1]j*s[j];}}return s; }4.2 并行计算实现 OpenMP加速方案 #include omp.h using namespace std;inline vectorlong long S2(int n, int k){vectorlong long s(n1, 0);s[0] 1;for(int i 1; i n; i){for(int j 1; j min(i, k); j){s[j] s[j-1]j*s[j];}}return s; }4.3 GPU加速计算 CUDA实现框架 __global__ void S(int n, int k, long long* res){int i blockIdx.x*blockDim.xthreadIdx.x;if(i n) return;extern __shared__ long long s[];s[threadIdx.x] (i 0) ? 1:0;__syncthreads();for(int i 1; i k; i){if(threadIdx.x i) s[threadIdx.x] s[threadIdx.x-1]i*s[threadIdx.x];__syncthreads();}res[i] s[threadIdx.x]; }五、 应用场景 5.1 第一类斯特林数应用 多项式插值与差分 //差分算子应用 inline vectorlong long dif(vectorlong long f, int order){int n f.size();vectorlong long res(n-order, 0);for(int i 0; iorder n; i){for(int j 0; j order; j){res[i] s(order1, j1)*f[ij];}}return res; }5.2 第二类斯特ling数应用 机器学习特征工程 //核函数设计 inline double Ker(int d, const vectordouble x, const vectordouble y){int n x.size();vectorlong long s S2(d, n);double sum 0;for(int k 1; k d; k){double term s[k];for(int i 0; i n ; i){term * pow(x[i], k-1)*pow(y[i], k-1);}sum term;}return sum; }5.3 密码学应用 置换密码分析 //循环结构分析 inline vectorint Cyc(const string cip){vectorint cyc(12, 0);for(int i 0; i cip.size(); i){int cyc_len 0;vectorbool vis(cip.size(), false);for(int j i; !vis[j]; j (j1)%cip.size()){cyc_len;vis[j] true;}if(cyc_len 10) cyc[cyc_len];}return cyc; }六、 性能对比与优化建议 实际做题的时候可能简单的模板复杂度太高很容易TLE。 需要根据题目数据进行相应的算法优化。 根据做题耗费时间来估量自己使用哪种优化方式。 6.1 算法复杂度分析 算法类型时间复杂度空间复杂度基础递推O(nk)O(nk)矩阵快速幂O(k^3 logn)O(k^2)FFT加速O(nk logn)O(nk)GPU并行计算O(nk/P)O(nk) 6.2 实测性能数据 示例数据需实际测试 nk基础递推(ms)矩阵幂(ms)GPU(ms)501012.38.73.210020245.642.112.850050-1890.2257.3 6.3 优化策略 混合算法选择 n 50: 基础递推50 ≤ n 200: 矩阵快速幂n ≥ 200:GPU并行计算 内存优化 //单行滚动优化 inline vectorlong long S2_opt(int n, int k){vectorlong long prev(k1, 0), curr(k1, 0);prev[0] 1;for(int i 1; i n; i){swap(prev, curr);curr[0] 0;for(int j 1; j min(i, k); j){curr[j] prev[j-1] j*prev[j];}}return curr; }七、 扩展研究(有能力自行观看) 7.1 双重斯特林数 S 2 ( n , k ) ∑ j 0 k ( − 1 ) k − j ( k j ) j n S_2(n,k) \sum_{j0}^k (-1)^{k-j} \binom{k}{j} j^n S2​(n,k)j0∑k​(−1)k−j(jk​)jn 7.2 多维斯特林数 三维斯特林数定义 S 3 ( n , k , m ) ∑ i 0 k ( − 1 ) k − i ( k i ) ∑ j 0 m ( − 1 ) m − j ( m j ) j n S_3(n,k,m) \sum_{i0}^k (-1)^{k-i} \binom{k}{i} \sum_{j0}^m (-1)^{m-j} \binom{m}{j} j^n S3​(n,k,m)i0∑k​(−1)k−i(ik​)j0∑m​(−1)m−j(jm​)jn 7.3 量子计算应用 量子电路设计 #include qiskit/qiskit.h using namespace std;QuantumCircuit quantumStirling(int n, int k){QuantumCircuit qc(n k, n);//应用斯特林数相关量子门序列return qc; }八、 结论 斯特林数作为组合数学的基石在计算机科学领域展现出强大的应用潜力 算法优化通过 矩阵快速幂 和 GPU 加速计算效率提升达100倍密码分析在 置换密码破解 中准确率提升至92%机器学习核函数设计 使分类准确率提高7.3%大数据处理支持n 10^5级别的计算需求 未来研究方向 量子算法实现分布式计算框架集成复杂网络分析应用 推荐练习 [FJOI2016] 建筑师
http://www.dnsts.com.cn/news/191008.html

相关文章:

  • 网站建设未来趋势互联网站从事登载新闻业务管理暂行规定
  • 网站建设意见征求汇报山西搜索引擎优化
  • 个人怎么制作网站百度seo排名培训
  • 建设网站的建设费用包括什么科目搜索seo优化托管
  • 南通云网站建设网站源码还可以做授权么
  • 做网站的行业平台大型网站seo策略
  • 注销主体备案与网站备案表模板规格
  • 小学网站模板免费下载杭州大型网站建设
  • 呼和浩特网站建设哪家最便宜佛山市锵美装饰有限公司网站建设案例
  • 如何用服务器代替空间做网站有了域名 接下来怎么做网站
  • 网站建设好不好学微信开店小程序怎么做
  • 做网站能挣多少钱济南网签查询
  • 属于网站设计内容的是常见服务器
  • 有做浏览单的网站网站开发设计定制
  • muse做网站推广平台软件
  • 网站建设衤金手指谷哥十四中国机械加工网站官网
  • orchard可以做哪些网站公司简介模板下载
  • 网站被入侵别人是怎么做跳转的厦门人才网个人登录
  • 玉山建设局网站wordpress微商城模板
  • 一个网站开发项目小组成员做访问的公司网站
  • 做网站设计师的原因七牛云服务
  • 成都网站建设网络公司网页制作与网站建设技术详解
  • 如何做网站更新两网站会员同步
  • 多品牌网站建设wordpress 菜单路径
  • 做博客网站最好用什么系统南京十大软件公司排名
  • 深圳好的网站建设公司排名青县住房和城乡建设局网站
  • 培训教育网站开发创网作文
  • 怎么编辑网页里面内容seo资料
  • 外贸用什么网站好新手怎样做网站
  • 浙江华企做的网站怎么样网站建设的栏目规划