![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学
文章平均质量分 74
数学小牛马
数学专业本科在读,有奇奇怪怪的coding算法/或者其他想法的可以留言,我会积极为大家带来更多好的原创博文~
展开
-
Bellman-Ford算法cpp算法导论原理实现
Bellman-Ford算法该算法的特性是针对更广泛情况下的最短路径查询,其中边权可以为负数,并且会针对数据判断图中是否有从源节点到达负权环路的路径。方法依旧基于Class<Graph>实现,其中对少数地方做了对应修正,在带权边最短路算法中需要两个最基本的操作:初始化操作:使得除了根节点以外的节点d属性设置为∞\infty∞,前驱节点设置为空,这里的d属性表示的是该节点距离源节点的上界或标准最小值;void Graph::InitializeSingleSource(string s原创 2022-04-18 16:35:50 · 480 阅读 · 0 评论 -
[算法导论24章]单源最短路径Ⅰ
Background最短路径更多的是针对一张有向有权图G=(V,E)G=(V,E)G=(V,E),图中存在某条路径:p=<v0,v1,...,vk>p=<v_0,v_1,...,v_k>p=<v0,v1,...,vk>则其路径的权重则为点集合对应的边权之和:w(p)=∑i=1kw(vi−1,vi)w(p)=\sum_{i=1}^{k} w\left(v_{i-1}, v_{i}\right)w(p)=i=1∑kw(vi−1,vi)所以定义最短原创 2022-04-16 21:14:23 · 959 阅读 · 0 评论 -
拉格朗日插值公式与mathematica程序实现
插值多项式唯一性继续上一节中假设的多项式L(x)L(x)L(x),但此时为了便于分析定义最高次数为nnn:Ln(x)=∑j=0najxjL_n(x)=\sum_{j=0}^{n} a_{j} x^{j}Ln(x)=j=0∑najxj定理(插值多项式的唯一性):对任意n+1n+1n+1个互不相同的点集合{(xi,yi)∣i=0...n}\{(x_i,y_i)|i=0...n\}{(xi,yi)∣i=0...n}会存在唯一的次数界为n+1n+1n+1的多项式Ln(x)L_n(x)Ln(x原创 2022-04-15 19:35:10 · 2579 阅读 · 1 评论 -
算法导论KRUSKAL算法原理及其实现
KruskalKruskalKruskal算法又称作为克鲁斯卡尔算法,是基于贪心的一种最小生成树算法,根据前两部分了解到的安全边规则与不相交集合的数据结构(并查集),即可实现该算法的内容:KruskalKruskalKruskal方法的中心思想是在图中寻找一条权重最小的连接两个不相交集合的边即为所寻找的安全边。可以理解为找的边(u,v)(u,v)(u,v)符合横向切割的轻量级边的要求且一定尊重某最小生成树集合AAA,是否尊重节点uuu代表的或者节点vvv代表的某棵正在发现过程中的最小生成树集合很容易。原创 2022-04-09 10:29:32 · 606 阅读 · 0 评论 -
算法导论摊还分析总结Ⅰ
摊还分析摊还分析(amortized analysis):主要通过求解数据结构中一系列的操作,获得操作的平均时间评价操作的代价;不同于算法的期望,不涉及概率的另一种评价操作代价的方法;主要分为三种方法:聚合分析、核算法、势能法。首先介绍两个常规例子,之后通过例子对上述方法进行说明:例1 栈操作提供三类栈的基本操作:Push(x):将xxx压入栈中;pop():删除栈顶元素;Multipop(k):删除栈顶kkk个元素;其中假设基本操作不存在对空栈的删除操作。例2 二进制计数器原创 2022-04-04 18:58:45 · 634 阅读 · 0 评论 -
算法导论最小生成树安全边规则
最小生成树证明最小生成树(Minimum Spanning Trees)表示的问题抽象后更多的是在联通无向图G=(V,E)G=(V,E)G=(V,E)中,寻找∣V∣−1|V|-1∣V∣−1条边的集合T⊆ET\subseteq ET⊆E使得在新图GT=(V,T)G^T=(V,T)GT=(V,T)为一个联通无向图且边权之和w(T)=∑(u,v)∈Tw(u,v)w(T)=\sum_{(u, v) \in T} w(u, v)w(T)=∑(u,v)∈Tw(u,v)最小。换句话说就是寻找∣V∣−1|V|-1∣V原创 2022-04-03 23:52:41 · 1255 阅读 · 0 评论 -
python实现LU分解与LUP分解
计算机求解线性方程组Ax=bAx=bAx=b过程中,更多的是采用数值计算方法求解而取代数学意义上效率更高的求逆运算,其中一个重要的问题是数值的稳定性。上述线性方程组中AAA为nnn阶方阵,其中实际求解问题中只针对非奇异矩阵的情况下,这里首先介绍一种较为常见的LUPLUPLUP分解方式求解方法。LUPLUPLUP方法求解原理为找出满足条件的三个nnn阶方阵LUPLUPLUP使得PA=LUPA=LUPA=LU其中LLL为下三角矩阵,UUU为上三角矩阵,PPP为置换矩阵,在原方程Ax=bAx=bAx原创 2022-04-02 21:05:59 · 2242 阅读 · 0 评论 -
算法导论中循环不变式的简要应用
循环不变式的理解应用数学归纳法第一数学归纳法:验证n=1n=1n=1命题成立,假设n=kn=kn=k命题成立,证明n=k+1n=k+1n=k+1命题成立那么推得对任意正整数情况成立;第二数学归纳法:验证n=1,n=2n=1,n=2n=1,n=2命题成立,假设n<kn<kn<k命题成立,证明n=kn=kn=k命题成立那么推得对任意正整数情况成立;总体来说两类方法均采用递归演绎推理命题的方式将结论延伸到整个正整数集合中。循环不变式很多算法的正确性采用循环不变式的方法原创 2022-04-01 20:07:10 · 268 阅读 · 0 评论 -
c++算法导论原理实现拓扑排序与强连通分量并证明
拓扑排序对于有向无环图G=(V,E)G=(V,E)G=(V,E),拓扑排序的效果是将所有顶点集合进行线性排序,排序与数据的大小排序不同,拓扑排序更多的是依赖于节点间的方向关系,或者解释为是“先有鸡还是先有蛋”的故事,将蛋生鸡,鸡生蛋这种拓扑的顺序结构转变为线性结构“就是“蛋变成鸡”这种排序效果,更多的可能会应用到工程流程上或是其他领域。上述举得例子不合理因为针对有向无环图,图中存在环则意味着无法找到一个不被依赖的节点提取出来,所以”蛋变成鸡“这种线性结果是存在矛盾的。上述拓扑图是书中的例子,描述的是原创 2022-03-31 20:36:05 · 1171 阅读 · 0 评论 -
[CLRS Chapter22]基本的图算法Ⅳ(深度优先搜索后图中每条边的类型可以提供关于图的重要信息)
边的分类G(V,E)G(V,E)G(V,E)在基于深搜定义下的前驱子图GπG_\piGπ(又称深度优先森林)中定义了四种类型的边:树边均为深度优先森林的边(EπE_\piEπ);后向边为EEE中非树边且将节点连向祖先节点的边(自循环的边被认为是后向边);前向边为后向边的反向描述,连接向后代节点的边;横向边为所有其他类型的边,包含同一树中非祖先、深搜森林中连接两棵树的边等等;对应上节验证括号化定理的深搜的前驱子图可以得出,粗线描述的都为树边构成了前驱子图,标注为B为的是连接祖先的后向边,原创 2022-03-30 23:17:56 · 438 阅读 · 0 评论 -
[CLRS Chapter22]基本的图算法Ⅱ深度优先搜索原理角度实现&性质证明(括号化定理、白色路径定理)
广度优先树首先给定图GGG和目标搜索点sss的情况下,定义前驱子图Gπ=(Vπ,Eπ)G_\pi=(V_\pi,E_\pi)Gπ=(Vπ,Eπ),其中点集Vπ={v∈V∣v.π≠NIL}⋃{s}V_\pi=\{v\in V|v.\pi\ne NIL\}\bigcup\{s\}Vπ={v∈V∣v.π=NIL}⋃{s},Eπ={(v.π,v)∣v∈V−{s}}E_\pi=\{(v.\pi,v)|v\in V-\{s\}\}Eπ={(v.π,v)∣v∈V−{s}}。可以看出前驱子图表达的是由目.原创 2022-03-29 22:50:13 · 576 阅读 · 0 评论 -
[CLRS Chapter22]基本的图算法Ⅱ验证广搜最短路径的正确性
验证广搜最短路径的正确性首先定义最短路径δ(s,v)\delta(s,v)δ(s,v)是节点s到节点v的最短路径,若没有通路那就记为δ(s,v)=∞\delta(s,v)=\inftyδ(s,v)=∞,注意该处定义的最短路径由于是无权图所以都是单位长度。引理1. 给定有(无)向图G=(V,E)G=(V,E)G=(V,E),sss为任意节点,给定任意边(u,v)∈E(u,v)\in E(u,v)∈E会得到δ(s,v)≤δ(s,u)+1\delta(s,v)\le \delta(s,u)+1δ(s,v)≤原创 2022-03-28 21:53:16 · 493 阅读 · 0 评论 -
c++模板元实现红黑树Ⅰ
文章目录基本性质cpp模板元实现继承BSTBSTBST添加属性旋转插入[情况1][情况2$or$3]基本性质红黑树是一棵二叉搜索树,所以基本性质继续保留:对树中的任意节点,左孩子关键字均小于其节点关键字,右孩子均大于等于其关键字。(等于的情况跟随实际定义效果)除此之外又附加了其他性质使其更加稳定,树中每个节点除基本二叉搜索树包含的key,left,right,p之外,还包含color属性。每个节点颜色有红黑两种;根节点为黑色;每个叶子节点都为黑色;若当前节点为红色,那么其两个子节点为.原创 2022-03-24 20:49:52 · 2180 阅读 · 0 评论 -
阶乘函数的解析延拓——伽马函数
解析延拓可以看作是扩大原函数定义域的一种数学方式原创 2022-03-23 22:58:37 · 3440 阅读 · 0 评论 -
[主定理证明]递归算法时间复杂度怎么算?
文章目录分治算法递归式主定理方法定理描述:证明主定理nnn为bbb的幂次向上向下取整增加常数规模重现三种情况情况3的弱条件分治算法分治算法强调递归的求解一个问题,每个递归都有三个步骤:分解:将问题分解为子问题,子问题规模<<<原问题规模;解决:解决递归最底层无法分解的子问题;合并:将已解决的最小问题递归至上一层直至到根节点。递归式递归式是描述分治算法的一个等式或不等式,例如归并排序递归式为:T(n)={Θ(1)n=12T(n2)+Θ(n)n>1T(n)=\le.原创 2022-03-22 21:00:16 · 1133 阅读 · 0 评论 -
codeforces round#760 div3(A~E)
文章目录题目链接ABCDE有能力再继续补题目链接补题挖坑A看样例猜数据,最小最大肯定有,然后那就再用最大减最小拿出来一共三个数字#include <iostream>#include <algorithm>#include <cstring>#include <cmath>#include <vector>#include <queue>using namespace std;typedef long long原创 2021-12-15 01:33:16 · 463 阅读 · 0 评论 -
python实现单纯形法迭代形式(待更新人工法+对偶)
输入格式与matlab的linprog公式类似链接,之前还写过这个已经忘了,可以参考,但是这个的写法要求不等式必须是≤,有需求可以自己变通单纯形法的迭代公式建议看厦大运筹学之规划论剩下的实现和原理之后再写,这个确实挺好用的????我把例子找了三个朴素的例子做了实现,结果还可以import numpy as npdef LinearProgram(f, A, b, Aeq=-1, beq=-1): """ 传入matlab样式参数,通过判断选择单纯形法,选择性添加人工法,对偶问题原创 2021-10-21 21:04:56 · 654 阅读 · 0 评论 -
自动微分前置知识学习(1)sympy
语雀更新地址挖坑原创 2021-06-08 02:12:28 · 136 阅读 · 0 评论 -
O(n)时间寻找中位数(未完全完成待续)
先放代码,有时间详细写原理,代码在递归查找的时候还有些问题,挖坑ing/* * @Descripttion: * @Author: ssw * @Date: 2021-05-30 02:21:22 * @LastEditors: ssw * @LastEditTime: 2021-06-01 12:44:39 */#include <iostream>#include <algorithm>#include <ctime>#include <原创 2021-06-01 12:45:14 · 202 阅读 · 0 评论 -
matlab数值解格式八对应方程
格式八为格式五的变形泰勒展开非对称但是相对前者更精准代码解决:function [result] = duijiao(x0,x1,h,q1,q2,f,u0,un)xx = x0:h:x1;len=(x1-x0)/h+1;Q1 = matlabFunction(q1);Q2 = matlabFunction(q2);F = matlabFunction(f);A=diag(Q1(xx(2:len-1)))+diag(Q2(xx(3:len-1)),1)+diag(Q2(xx(2:len.原创 2021-05-05 17:59:41 · 216 阅读 · 0 评论 -
龙格-库塔四阶方法matlab求解
期末作业水博客2function result = RK4(f,y0,x0,x1,h)F = matlabFunction(f);l = (x1-x0)/h;result = zeros(1,l);for i=1:l K1 = F(x0,y0); K2 = F(x0+h/2, y0+K1*h/2); K3 = F(x0+h/2, y0+K2*h/2); K4 = F(x0+h, y0+K3*h); y0 = y0 + h / 6 * (K1+2*K2+2原创 2021-05-04 16:47:20 · 2189 阅读 · 0 评论 -
欧拉法和改进欧拉法的matlab求解
期末作业,水博客欧拉法function result = Euler(f,y0,x0,x1,h)F = matlabFunction(f);l = (x1-x0)/h;result = zeros(1,l);for i=1:l K1 = F(x0,y0); y0 = y0 + h * K1; x0 = x0 + h; result(i) = y0;end改进欧拉法function result = Euler_(f,y0,x0,x1,h)F = m原创 2021-05-04 16:34:51 · 7264 阅读 · 6 评论 -
a^x求导是怎么来的呢?
思考axa^xax求导是怎么来的呢?eee的由来:复利模型:如果这里不懂,复利模型又叫做利滚利模型,将钱存入银行,如果一年的增长率是rrr,那么xxx个周期后总增长率为:Q=(1+r)xQ = (1+r)^xQ=(1+r)x可以理解为xxx个周期之后原有量会变为原来的Q倍。之后就有个有趣的故事,如果利率升值100%100\%100%,一年可以得到多少钱呢:Q=(1+100%)=2Q = (1+100\%)=2Q=(1+100%)=2现如今银行为了招揽,半年就可以支付利息,机智的自己发原创 2021-01-07 01:16:04 · 4121 阅读 · 2 评论 -
n的阶乘位数的简化表达
这是根据杭电阶乘位数改的题目有矩阵知识(代数余子式啥的)可得逆推:22的时候有两种对角形式33的时候代数余子式按1行或按1列展开就是3个位置和三个22的形式所以就是23=6种方案以此类推这就是N*N的方案书就是N!n!=2πn(ne)nn!=\sqrt{2\pi n}(\frac{n}{e})^nn!=2πn(en)n不计算值,只计算位数,所以想到两边开lglglglg(n!)=lg(1)+lg(2)+...+lg(n)=12lg(2πn)+nlg(ne)=lg_n_valuelg(n!原创 2021-01-06 17:11:31 · 1042 阅读 · 2 评论 -
最优化内外点法matlab实现
由于题目特殊性实现的不是太好,但是在无不等式约束的情况下可以得到理想结果,日后改进文章目录实验二: 约束优化实验目的及要求:实验原理:算法1:内点法算法2:外点法实验内容(方法和步骤) :题目1 编写程序实现外点法(包含源代码和运行截图)外点法函数源代码运行截图题目2 编写程序实现内点法(包含源代码和运行截图)内点法函数源代码运行截图实验二: 约束优化实验目的及要求:熟练掌握内点法和外点法的思想和原理;编写程序实现内点法和外点法求解极值实例;实验原理:在$Matlab $环.原创 2020-12-31 17:14:50 · 11426 阅读 · 14 评论 -
matlab实现进退法、0.618法、牛顿法
文章目录实验一 一维最优化方法实验目的及要求:实验原理:算法1:进退法算法2:0.618法算法3:牛顿法实验内容(方法和步骤)例题题目1 编写程序实现进退法。题目2 利用进退法求解极值区间实例题目3 编写程序实现0.618 法题目4 利用0.618 法求解极值实例题目5 编写程序实现牛顿法实验一 一维最优化方法实验目的及要求:编写程序实现进退法,利用进退法求解极值区间实例;编写程序实现0.618 法,利用0.618 法求解极值实例;编写程序实现牛顿法,来求解一维函数的局部极小值点。原创 2020-12-31 17:11:59 · 9116 阅读 · 1 评论 -
TF-IDF方法学习&手工细节实现
参照莫凡python理解型的敲了敲代码过多解释不说,代码理解仅供参考,同时感谢莫凡的知识分享鄙人尚在学习,原理层方面知识不太了解实现为主,并且主要以学习NLP知识为主'''Descripttion: Author: sswDate: 2020-12-17 00:14:45LastEditors: sswLastEditTime: 2020-12-17 02:59:42''''''TF-IDF方法分为TF与IDFTerm Frequency And Inverse Docume原创 2020-12-17 03:04:55 · 402 阅读 · 0 评论 -
博弈论初步(巴什博弈)
文章目录巴什博弈巴什博弈一堆物品为n,轮流取,最大m最小为1n=k(1+m)+rn = k(1+m)+rn=k(1+m)+r,当n%(m+1)=0n\%(m+1)=0n%(m+1)=0先手必输总数为(1+m)*k1个,A方拿到x个,B方要拿走(m+1-x)个,这一回合总共拿到了m+1个又一次进行最后都是B方最后拿完直到结束先手必输HDU4764l类比操作#include <bits/stdc++.h>#define ll long longusing namespace原创 2020-09-22 21:20:19 · 540 阅读 · 1 评论 -
排列组合(9月8日更新
文章目录1.排列组合两个原理2.排列2.1.有放回2.2.无放回全排列(特殊情况)3.组合3.1.二元3.2.多元3.3.分块取3.4.有重复组合数二项式公式1.排列组合两个原理A1A_1A1事件n1n_1n1种方法,A2A_2A2事件n2n_2n2种方法。乘法原理:先进行A1A_1A1事件在进行A2A_2A2事件共有n1×n2n_1\times n_2n1×n2种方法#mermaid-svg-Za8HIbKpMGLVJT4U .label{font-family:'trebuc原创 2020-09-03 21:00:19 · 759 阅读 · 0 评论 -
牛客月赛思维题使徒袭来
使徒袭来参考均值不等式得到:3×x1x2x33≤x1+x2+x33\times\sqrt[3]{x_1x_2x_3}\leq x_1+x_2+x_33×3x1x2x3≤x1+x2+x3最低为3×n33\times\sqrt[3]n3×3n#include<iostream>#include<cstdio>#include<cmath>using namespace std;int n;int main(){ cin>原创 2020-08-24 01:51:21 · 294 阅读 · 0 评论 -
基本不等式&&凸函数&&拉格朗日乘子
文章目录基本不等式及其证明证明M2‾≤M3‾\overline{M2}\leq\overline{M3}M2≤M3证明M1‾≤M2‾\overline{M1}\leq\overline{M2}M1≤M2证明M3‾≤M4‾\overline{M3}\leq\overline{M4}M3≤M4对凸函数理解为:拉格朗日乘子Jensen不等式基本不等式及其证明调和平均值:M1‾=n1x1+1x2+...+1xn\overline{M_1}=\frac{n}{\frac{1}{x_1}+\frac{1}{x_2}原创 2020-08-24 01:12:43 · 599 阅读 · 0 评论 -
2020杭电第五场Tetrahedron(数学推导+期望(打表)+逆元)
Tetrahedron题目大意:四面体,三个面是直角三角形,三条直角边随机处于[1,n]区间,求解直角顶点到地面距离的期望,最终分数用逆元表达原创 2020-08-14 16:02:37 · 148 阅读 · 0 评论 -
2/3维向量叉乘意义&&判断二维平面点的相对位置&&向量法证明海伦公式
向量叉乘a=(x1,y1)b=(x2,y2)a=(x_1,y_1)\quad b=(x_2,y_2)a=(x1,y1)b=(x2,y2)点乘:a→⋅b→\overrightarrow{a}·\overrightarrow{b}a⋅b得到实数,属于向量之间的标量运算叉乘:a→×b→\overrightarrow{a}\times\overrightarrow{b}a×b二维叉乘的数值概念为以两个向量为边所围成的平行四边形面积集合概念为a→与b→\overrightarrow{a}与\ov原创 2020-08-14 15:11:40 · 2454 阅读 · 0 评论 -
C++得到PI与E的方法和部分数学函数用法
三角函数记住其均为弧度制 sin、cos、tanasin、acos、atan提供反三角函数返回弧度制,上半平面正,下半平面负->[−π-\pi−π,π\piπ]正切函数中对边邻边\frac{对边}{邻边}邻边对边某点(x,y)的正切角度为arctan(yx)arctan(\frac{y}{x})arctan(xy)atan2使用:double atan2 (Type1 y , Type2 x); // additional overloads三角函数得到π\piπ三角函数的单位都是弧原创 2020-08-13 14:10:00 · 1389 阅读 · 0 评论 -
2020杭电第六场Little Rabbit‘s Equation(字符串分割进制转换模拟)
Little Rabbit’s Equation1+1=1018-9=9AA*AA=70E47/2=3针对此输入判断符合计算方法的最小的进制,保证都是整除,不是的话输出-1,长度为15,进制为2~16字符串的分割将符号和三个数字分出来-换+,/换*,使得此问题转换为检验+或*的运算,进制转换使得一切数字由自己的最高位+1进制~16进制遍历直到找到或者找不到注意0+0=0等全零操作注意数据范围使用long long#include<bits/stdc++.h>#defi原创 2020-08-06 22:36:40 · 213 阅读 · 0 评论 -
2020牛客多校第一场J题[Easy Integration(逆元+数学推导打表)
牛客多校第一场J题 Easy Integration先解决数学问题解积分表达式,听说这是高数题目,(水平还需要提高,这种式子算起来还是不算太难的,但是当时死活不知道咋求,放假放傻了…高中爷orz∫01xn(1−x)ndx=1n+1∫01(1−x)ndxn+1=1n+1xn+1(1−x)n−nn+1∫01xn+1(1−x)n−1(−1)dx∵前一项积分上下限01均等于0所以可省略,经过n次约简得到=n!(n+1)(n+2)×(2n−1)(2n)∫01x2ndx=n!2(2n+1)!\begin{ali原创 2020-07-12 22:53:29 · 312 阅读 · 1 评论 -
插值理论及其拉格朗日插值
插值理论及其拉格朗日插值插值方法概述思路:构造相对简单的函数y=G(x)y = G(x)y=G(x),使得其通过所有的点yi=G(xi)(i=0,1,...,n)y_i = G(x_i)_{\quad(i = 0,1,...,n)}yi=G(xi)(i=0,1,...,n)定义(概要)插值函数:上述的符合通过其所有点要求的函数称为插值函数插值:找到需要求得的x∗x^*x∗对应...原创 2020-03-10 18:09:37 · 920 阅读 · 0 评论 -
数值计算方法Mathematica基本使用
Mathematica入门初等运算:????基本运算语句表达x+yx+yx+yx+yx-yx−yx-yx−yx/yx÷yx\div yx÷yx*yx×yx\times yx×yx^yxyx^yxySqrt[x]x\sqrt{x}x计算近似值(1)表达式//N(2)N[表达式,n] (保留n位精度)括号():分组计...原创 2020-03-04 17:19:07 · 16124 阅读 · 0 评论 -
数值计算方法绪论笔记(误差,有效数字)
数值计算方法绪论笔记基础:代数、几何、分析(纯粹数学)数学特征:概念的抽象性逻辑的严密性结论的确定性应用的广泛性数值计算方法 -> 数学计算的应用科学计算计算数学(基础):数值计 算理论与计算相结合研究数学问题的数值方法特点不会造成损害调参去诊断一个算法可重复(计算机运行)好的算法优化时间复杂度目标:掌握一种数学软件提供有效可行的计算方法研...原创 2020-02-24 22:30:01 · 3164 阅读 · 0 评论