自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 python入门(六) 文件与异常

的特殊对象来管理程序执行期间发发生的错误,每当发生了Python不能处 理的错误时,它都会创建一个异常对象,如果你编写了处理该异常的代码,文件将正常运行,如果 你对该异常未处理,程序将停止,并显示一个traceback,其中包含有关异常的报告;如果你想给文件添加内容,而不是覆盖原有的内容,可以用附加模式打开文件,此时你写入的内容将会添加到原内容的末尾,如果指定的内容不存在,python将为你创建一个空文件;发生错误的时候,程序的工作还没有完成,妥善的处理错误就尤为的重要,

2025-03-25 19:25:38 767

原创 python入门(五) 类

而__init__()是一个很特殊的方法,每当用这个类创建实例的时候,Python就会自动运行这个方法(可以类比C++中的构造函数);对于部分的父类方法,可能并不符合子类模拟事物的方式,便可以对其进行重写;例如在子类中定义一个方法,其与想要重写的父类方法同名,这样的话,python就不会再考虑这个父类方法,而是只关注在子类中定义的相应方法。用代码模仿实物的时候,可能发现给类添加的细节越来越多了,这时,可以考虑将类的一部分,作为一个独立的类抽离出来,从而可将大类拆分成多个协同工作的小类。

2025-03-13 17:34:34 195

原创 python入门(四)(字典)

返回一个键-值对列表,是字典的一个方法,从而每个对的“键”与“值”会分别被存入key和val中,实现迭代;同样也可以对值进行遍历,用到方法.values()

2025-03-10 05:27:06 189

原创 python入门(三)列表篇二

这在python的语法中表示将 s 关联到 t 的列表,而非创建一个 t 的副本,这样的话,改动 t 中的元素时,s 中的元素也会发生相同的变化。虽然元组的元素不可修改,但其实我们可以给储存元组的变量重新赋值。希望将range函数生成的数字序列转化为列表,可以使用函数。基于此,可以与C语言中的 const 进行类似。这篇博客主要涉及“操作列表”的相关知识。元组的遍历和切片与列表是类似的。将其与列表的中括号做区分。

2025-03-04 14:53:33 174

原创 python入门(二)列表篇一

元素遍历,对于有n个元素的列表, 可分为正向遍历与反向遍历两种方式。

2025-03-04 00:07:00 161

原创 python入门(一)基础篇

map 是 Python 中的一个内置函数,用于将一个函数应用到可迭代对象(如列表、元组等)的每个元素上,并返回一个迭代器。”的,只有在转化的列表或遍历的时候才会产生对应的值。map的返回值是一个迭代器,迭代器不等于列表;关于合并/拼接字符串, 可以直接使用。如此一来你的串内部可以包含。2、lambda 函数;

2025-03-02 23:50:36 211

原创 *割点割桥

【代码】*割点割桥。

2024-09-09 21:01:38 157 1

原创 强连通分量

而一张图中的子图如果联通,我们称之为该图的强连通分量。强连通:有向图中任意两个点可以相互抵达。连通:图中任意两个点可以相互抵达。

2024-09-09 08:45:23 225

原创 链式前向星存图与拓扑排序

可是仅仅如此,是无法做到有顺序的遍历的,所以,我们需要取用一个head数组,用head[u]描述所有以u为头节点存储的最后一条边,并且将所有以u为头结点的边用.next串联,从而达到遍历的效果。对象是有向无环图,而拓扑排序的目的,就是找到一个遍历,使得其遍历了所有的点,则这个点的顺序称为一种拓扑排序。其算法思路为:先找到所有入度为0的点,存入队列中,再将这些点全部删去,然后在图中再次找出所有入度为0的点,循环往复。鉴于拓扑排序的考虑对象在点,不便于用链式前向星存储,故采用点为主体的链表结构。

2024-09-08 20:36:02 246

原创 [算法]排序

当待排序的序列中存在a[i]与a[j],且a[i]=a[j],在经过某算法排序后,a[i]与a[j]的相对位置不发生改变,例如a[i]在a[j]之前,排序过程中,a[i]一直在a[j]之前,则我们认为该排序算法是稳定的,以冒泡排序为例。其中,a[1..i]描述的就是“左手”中排列好的“牌”,也就是大小排好的序列,而a[i+1..n]则是待排序的“乱牌堆”;快速排序的思路,是选定一个标准数,将序列中比标准数小的扔到左边,将序列中比标准数大的扔到右边,再分别对左序列与右序列进行同样的操作。

2024-09-06 20:29:51 267

原创 证明补码下,~n=-n-1

10运算表示的就是将正数 10 的补码转换为负数 10 的补码,而非简单的由 “00001010” 变为 “10001010”,因为 “10001010” 是 “-10” 的原码,而计算机的处理用的是补码,故为 “11110110”,故左右相等,证毕。10 的原码是 “00001010”,为正数,所以输入后 10 的补码也是 “00001010” ,接下来计算机的运算是补码运算,~10+1 =~n = -n-1,等价于证明~n+1 = -n,以n=10作为例子;

2024-08-13 22:52:27 262

原创 从溢出视角看补码

CPU并没有减法运算器,而计算机对减法的处理需要则用到补码,从而实现将二进制数的减法转化为加法运算,以达到电路设计的目的。计算机对二进制数的加法运算有溢出的特点,那么可以考虑将减法通过加法溢出达到相同的效果。由上述过程,说明了补码相加即利用了计算机二进制数的溢出实现减法过程。举个例子,8 bit 二进制数 的计算在取值达到。正数的补码、原码和反码相同;负数的反码符号位为"的补码相加,在数值上等价于。恰好溢出,相当于结果对。

2024-07-07 22:48:09 239

原创 倍增LCA

其实这个LCA没啥优化(主要是因为博主太弱了QwQ)首先,什么是LCA? : 指在有根树中,找出某两个结点u和v最近的公共祖先。那什么是倍增呢? : 是指将在树上的u点与v点同时向上传递时,每次不是指移一位,而是移位从而大大提高时间效率。(预处理为O(nlogn),之后的挨次询问为O(logn) )。(为了时间,我二话不说地使用了链式向前星与快读QwQ)...

2019-08-16 23:14:16 123

原创 dijstra+链式前向星+优先队列优化

dijstra——强大的算法dijstra+链式前向星+优先队列优化=满分的最短路由于SPFA在最坏情况下会退化,所以我决定使用dijstra来解决最短路问题。链式前向星就是存图用的,比邻接矩阵节省空间得多(点这)而由于dijstra是基于贪心的,所以也可以用优先队列来维护写个模板吧:#include<bits/stdc++.h>#define FOR(i,...

2019-08-13 19:36:32 614

原创 SPFA+Dijkstra优化

SPFA+Dijkstra优化 其实就是用优先队列对SPFA进行优化的一种算法优化。而SPFA的基本思路为:用数组d记录每个结点的最短路径估计值,而且用邻接表来存储图G。设立一个先进先出的队列用来保存待优化的结点,优化时每次取出队首结点u,并且用u点当前的最短路径估计值对离开u点所指向的结点v进行松弛操作,如果v点的最短路径估计值有所调整,且v点不在当前的队列中,就将v点放入队尾。这样不断从队...

2019-02-13 22:02:52 541

原创 队列

    什么是队列? 队列就是一种先进先出的数据结构,如下图。(画风不好) 我们来试着存一下队列:#include&lt;bits/stdc++.h&gt;using namespace std;int f,l,n,a[10001];int main(){ scanf("%d",&amp;n);for(int i=1;i&lt;=n;i++){ a[++l]=i;}...

2018-12-09 21:15:08 132

原创 单源最短路径----prim算法

这一题是用二维数组将点存入。 scanf("%d%d%d",&amp;x,&amp;y,&amp;z); if(a[x][y]!=0){ a[x][y]=min(a[x][y],z); } else a[x][y]=z;至于那个判断则是判重边啦。先将每个点的权值赋最大(d数组存点的值)。const int inf=100000000;......for(i=1;i...

2018-10-23 21:12:22 985

原创 谈论贪心

欢迎各位于百忙之中来看我的算法博客,这主要是为新手准备的资料,而会的大佬可以忽略。贪心算法是一种策略算法,没有特定格式,用策略求解即可。首先,使用贪心算法要满足该问题的局部解可以满足全局最优解。 举个栗子例子:现在有X个包,每个包有Y种物品,每个物品的价格为z[x][y],现在从每个包里拿出N个物品,如何使总价值最大? 如: X=3,Y=2,N=1;z[x][y]=(3 4) (5...

2018-10-23 21:07:41 143

原创 二叉树——kruskal

~~已会各位大佬们可以跳过QwQ~~ ,  今天我们用Kruskal算法来解这道题。1. 定义  int fa[1000100],i,j,k,n,m,s,ans;//基本变量:) struct eige{ int x,y,z;}a[1000100];//主要是为了排序2. 排序函数定 int cmp(eige u,eige v){ return ...

2018-10-16 19:22:27 190

原创 二分图匹配

首先,什么是二分图?——二分图,顾名思义,就是由两个子集组成的特殊图论模型,如下图可以将大写字母看作男生,将小写字母看作女生,则A男生与b女生之间有好感,且C男生与b女生之间也有好感。那么,二分图匹配又有什么用?——二分图匹配主要用于寻找增广路径的运算,接下来我们就来介绍一种算法:匈牙利算法!比如说上图(还是那张恶心的图......),A男生与b女生之间有好感,可是男生与b...

2018-10-15 23:47:39 162

原创 拓扑排序

对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。 1.每个顶点出现且只出现一次。2.若存在一条从顶点 A 到顶点 B ,则A为B的前序...

2018-10-02 23:27:02 114

程序制作图片

可供于程序的绘图,ps的应用素材..............等各个方面

2018-07-21

空空如也

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

TA关注的人

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