自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shi_zi_183的博客

一起学习,相互督促

  • 博客(17)
  • 收藏
  • 关注

原创 洛谷P3381 【模板】最小费用最大流

P3381 【模板】最小费用最大流最大流算法中的DFS搜索修改为SPFA算法,每次取增广路径时,都取成本最低,即最近路径。可以得73分,三组数据超时,可能是跑进了死循环,没发现错误,还是跟着答案学学吧。#include<iostream>#include<algorithm>#include<queue>#include<memory.h>using namespace std;const int MAXN = 5e3 + 10, MAX =

2020-10-31 09:44:46 147

原创 可持续化线段树

可持久化线段树可持久化线段树是基本线段树的一个简单扩展,是使用函数式编程思想的线段树,它的特点是支持询问历史版本,并且利用历史版本之间的共用数据来减少时间与空间的消耗。可持续化线段树的基本特点是多棵线段树,根据具体情况,没棵线段树可以表示不同的含义。例如在区间第k大问题中,第i棵树是区间[1,i]的线段树。可持久化线段树用到的技术包括:前缀和思想+共用点+离散化+权值线段树(可以相减)+动态开点。区间第k大问题主席树 洛谷 P3834题目描述:给定n个整数构成的序列a,队指定的闭区间[L, R]

2020-10-29 12:31:34 896

原创 图论:最小生成树

最小生成树总结Prim算法prim算法是主要解决与边数无关和顶点数相关的算法,适合求解稠密图的最小生成树。算法的时间复杂度为O(n2)O(n^2)O(n2),空间复杂度是O(n2)O(n^2)O(n2)。步骤1.从任意一个顶点开始构造生成树,用一个数组记录哪些顶点已经加入了生成树。2.用数组dist记录生成树到各顶点的距离。3.从数组dist中选出离生成树最近的顶点(假设为j)加入到生成树中。再以j为中间点,更新生成树到每一个非树顶点的距离(松弛)。4.重复第三步,直到生成树有n个顶点为止。

2020-10-21 22:34:03 324

原创 (3)Ajax数据抓取

Ajax数据抓取序言通过前几章的学习我们已经了解了爬虫的工作原理和一些基本库的使用。有时候在使用requests库或urllib库抓取页面时,得到的结果可能和在浏览器中看到的不一样。这是因为有些浏览器中的页面是经过JavaScript处理数据后生成的结果。这些数据的来源有很多种,可能是通过Ajax加载的,也可能是包含在HTML文档中的,还有是经过JavaScript和特殊的算法计算后生成的。对于第一种情况,是一种异步加载方式,原始的页面最初不会包含某些数据,原始页面加载完成后,在通过JS向服务器发送

2020-10-21 00:21:26 466

原创 (13)幂模m与逐次平方法

逐次平方法如何计算5100 000 000 000 000(mod  12 830 603)5^{100\ 000\ 000\ 000\ 000}(\mod 12\ 830\ 603)5100 000 000 000 000(mod12 830 603)呢?如果12830603是素数,你会设法使用费马小定理,即使不是素数,也可以利用欧拉公式。事实上,12 830 6

2020-10-20 09:24:49 303 2

原创 图论:最短路径_SPFA算法

SPFA算法SPFA算法是使用队列优化的Bellman-Ford算法,求单源最短路径的一种算法。SPFA算法进行了两种优化,但在最坏的情况下效果不佳,与不优化时相同。效率与Bellman-Ford算法相同,但SPFA算法以点展开,Bellman-Ford算法以边展开。Bellman-Ford算法比SPFA算法好写很多。实现方法建立一个队列,初始时队列里只有起始点,在建立一个表格记录起始点到所有点的最短路径(该表格的起始值要赋为极大值,该点到他本身的路径赋为0)。然后执行松弛操作,用队列里有的点去刷新

2020-10-19 22:55:41 144

原创 图论:最短路径_Bellman-Ford算法

Bellman-Ford算法问题我们假设有一有向图G=(V,E,W)G=(V,E,W)G=(V,E,W),其中的每条边ei,j:={vi,vj}e_{i,j}:=\{v_i,v_j\}ei,j​:={vi​,vj​}的权值为一个非负的实数wi,j(ei,j)w_{i,j}(e_{i,j})wi,j​(ei,j​),该权值表示从顶点viv_ivi​到顶点vjv_jvj​的距离。并设一单源点s∈Vs\in Vs∈V。我们需要找出从源点S出发,到V−{s}V -\{s\}V−{s}中的所有节点的最短路径。D

2020-10-15 21:36:51 291

原创 图论:最短路径算法_Floyd算法

Floyd算法floyd算法是一个经典的动态规划算法,他又被称为插电法。Floyd算法是一种利用动态规划的思想寻找给定的加权(可以有负权)图中多源点之间最短路径的算法,算法目标是寻找从点i到点j的最短路径。dp数组与递推式既然是动态规划那么一定有递推式,我们发现i−>ji->ji−>j的路径不外乎两种:1.直接i−>ji->ji−>j中间不经过任何点。2.i−>k−>ji->k->ji−>k−>j经过了一些节点k。k可能

2020-10-15 09:45:32 382

原创 图论:最短路径算法_Dijkstra算法

最短路径就像排序算法,最短路径问题真的是值得重复研究的。(主要是我半年没看都忘了)之前总结过一次,就只是罗列了一些之前写的程序,这次想深入讨论一下。(当然也不一定能讨论清楚)迪杰斯特拉算法一说到最短路径那第一个一定是迪杰斯特拉算法。Dijkstra算法通过类似广度优先的策略来解决带权图的单源最短路径(无负权边,无环)Dijkstra算法运用了贪心的思想,算法只会着眼于当下的最优情况,一旦选择路径后无法更改,所以无法解决负权边,也不能结束环的死循环。问题我们假设有一有向图G=(V,E,W)G=(

2020-10-14 23:06:16 351

原创 蓝桥 试题 历届试题 观光铁路

观光铁路暴力搜索+剪枝这题很麻烦,一开始找不到很好的办法,大概搜了一下搜到了概率dp,学了一下,发现用不上,因为路径可以无限长,递推没有终点。然后看到数据量n≤21n\le 21n≤21,诶数据量好小,那直接搜图吧,DFS递归搜索,然后记录起点,当前点,父节点,当前概率,当前路径长度,遍历子节点,发现父节点跳过,发现起点就可以求当前路径的期望累加到结果里。但我忽略了环,这个绕起来没完,即使剪枝p(n+1)<1e−13p(n+1)<1e-13p(n+1)<1e−13时间复杂度还是太.

2020-10-13 21:06:40 613 1

原创 (12)梅森素数与完全数

梅森素数与完全数欧几里得完全数公式如果2p−12^p-12p−1是素数,则2p−1(2p−1)2^{p-1}(2^p-1)2p−1(2p−1)是完全数。验证设q=2p−1q=2^p-1q=2p−1,我们需要验证2p−1q2^{p-1}q2p−1q是完全数。2p−1q2^{p-1}q2p−1q的真因数是1,2,4,⋯ ,2p−11,2,4,\cdots,2^{p-1}1,2,4,⋯,2p−1与q,2q,4q,⋯ ,2p−2qq,2q,4q,\cdots,2^{p-2}qq,2q,4q,⋯,2p−2q使

2020-10-12 23:26:27 1106 1

原创 (11)梅森素数

梅森素数本章我们研究形如an−1(n≥2)a^n-1(n\ge2)an−1(n≥2)的素数。例如,31就是这样的素数,因为31=2^5-1。第一步观察某些数据22−1=32^2-1=322−1=323−1=72^3-1=723−1=724−1=3∗52^4-1=3*524−1=3∗525−1=312^5-1=3125−1=31...

2020-10-12 20:18:00 340

原创 (10)素数

关于素数的一些定理无穷多素数定理存在无穷多个素数证明假设已列出素数(有限)表。要说明如何找出不在表中的新素数。因为可以将这个新素数加入到表中,再重复这个过程,就表明必有无穷多个素数。假设由素数表p1,p2,⋯ ,prp_1,p_2,\cdots,p_rp1​,p2​,⋯,pr​开始。我们将它们乘起来再加1,给出数A=p1p2⋯pr+1A=p_1p_2\cdots p_r+1A=p1​p2​⋯pr​+1如果A本身是素数,则证明已完成,因为A太大不在最初的表中。但是即使A不是素数,也肯定会被某个素数整

2020-10-10 23:34:12 572

原创 (9)欧拉函数与中国剩余定理

欧拉ϕ\phiϕ函数与中国剩余定理上一章我们证明了欧拉公式aϕ(m)≡1(mod  m)a^{\phi(m)}\equiv1(\mod m)aϕ(m)≡1(modm)但除非能找到计算ϕ(m)\phi(m)ϕ(m)的有效方法,否则它的用途不能发挥出来。显然我们不想列出1到ϕ(m)\phi(m)ϕ(m)的所有整数来一一验证。但正如我们前一章看到的容易计算ϕ(m)\phi(m)ϕ(m)的一种情况是m=pm=pm=p为素数时,这是因为每一个整数1≤a≤p−11\le a\le p-11≤a≤p−1与m互素。因此

2020-10-10 12:32:26 596 1

原创 (2)通过XPath地址定位标签

XPath序言XPath是一门在XML文档中查找信息的语言。XPath可用来在XML文档中对元素和属性进行遍历。XPath是W3C XSLT标准的主要元素,并且XQuery和XPointer都构建于XPath表达之上。XPath在Python的爬虫学习中,起着举足轻重的作用,对比正则表达式re,两者可以完成同样的工作,实现的功能也类似,但XPath明显比re具有优势,在网页分析上使re退居二线。XPath的全称为XML Path Language,是一种小型的查询语言,其有如下优点。(1)可在XML

2020-10-08 23:57:50 518

原创 (8)同余式、幂与欧拉公式

同余式、幂与欧拉公式在前一章我们证明了费马小定理,在p是素数且p∤ap\nmid ap∤a,则成立,如果p换成合数,结论就不成立了,

2020-10-08 10:24:53 543 1

原创 矩阵压缩储存

矩阵压缩储存矩阵是许多科学与工程计算问题中研究的数学对象。我们感兴趣的不是矩阵本身而是如何储存矩阵的元,从而使矩阵的各种运算能够有效地进行。矩阵压缩需要矩阵具有某些相同的元素或者零元素,假若值相同的元素或者零元素在矩阵中的分布具有一定规律,则我们称此类矩阵为特殊矩阵;反之,成为稀疏矩阵。下面分别讨论他们的压缩储存。特殊矩阵对称矩阵若n阶矩阵A中的元满足aij=aji 1≤i,j≤na_{ij}=a_{ji}\ 1\le i,j\le naij​=aji​ 1≤i,j≤n则称为n

2020-10-01 01:04:14 431

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除