算法竞赛入门经典(第二版)学习笔记 本文是《算法竞赛入门经典(第二版)》这本书中的学习总结,如有不足欢迎提出宝贵意见。 第一章程序设计入门 1.1算数表达式 实验14 intmain(){ printf("%d\n",34);//实验1 printf("%d\n",56);//实验2 printf("%d\n",8/4);//实验3 printf("%d\n",8/5);//实验4 return0; } / 执行结果 -1 30 2 1 / 实验56 include<stdio.h> intmain(){ printf("%.2f\n",8.0/5.0);//实验5:1的含义是小...

  7m9fxb7xzyg8   2024年01月02日   38   0   0 算法与数据结构

图论 本文将介绍Dijkstra、Bellman-Ford、SPFA、Floyd等算法 注意:本文图文并茂 将提供以下图文链接供大家理解:图文链接:飞书图解链接🎉🎉🎉密码:L1@75666 1.Dijkstra算法 题目1 Acwing849.Dijkstra求最短路I include<bits/stdc.h> usingnamespacestd; constintN=5e2+10,M=1e5+10,INF=0x3f3f3f3f; intg[N][N],dist[N]; boolst[N]; intn,m; intdijkstra(){ memset(dist,0x3f,si...

  7m9fxb7xzyg8   2023年12月22日   22   0   0 算法与数据结构

单调队列 在一些问题中,可以使用单调队列优化 讲解 单调队列:队尾可以进队出队,对头可以出队(维护队列的单调性,往往会配合二分进一步降低时间复杂度) 队尾出队的条件是:队列不空且新元素更优,队中的旧元素队尾出队 每个元素必然从队尾进队一次 队头出队的条件:队头元素滑出了串口 队列中存储元素的下标,方便判断队头出队 练习 题目1 LuoguP1886滑动窗口/【模板】单调队列模板1 include<bits/stdc.h> usingnamespacestd; constintN=1e6+10; inta[N],q[N];//q数组寸元素下标,方便判断队头元素滑出窗口 int...

  7m9fxb7xzyg8   2023年12月01日   24   0   0 算法与数据结构

背包问题 背包问题是使用dp的经典问题,本篇文章将讲解所有的背包问题,文章也会不断完善,不断通俗易懂。背包问题是使用dp的经典问题,本篇文章将讲解所有的背包问题,文章也会不断完善,不断通俗易懂。背包问题是使用dp的经典问题,本篇文章将讲解所有的背包问题,文章也会不断完善,不断通俗易懂。背包问题是使用dp的经典问题,本篇文章将讲解所有的背包问题,文章也会不断完善,不断通俗易懂。 01背包 Acwing2.01背包问题空间未优化版本 include<bits/stdc.h> usingnamespacestd; constintN=1e3+10; intv[N],w[N],f[N][N...

  7m9fxb7xzyg8   2023年11月30日   25   0   0 算法与数据结构

排序算法 介绍常见时间复杂度为\(O(nlogn)\)的排序算法 1.快速排序 分治思想 include<bits/stdc.h> usingnamespacestd; constintN=1e5+10; inta[N]; voidquick_sort(intl,intr){ if(l>=r)return; intx=a[l+r>>1],i=l1,j=r+1; while(i<j){ while(a[i]<x); while(a[-j]>x); if(i<j)swap(a[i],a[j]); } quick_sort(l,j),quick_...

  7m9fxb7xzyg8   2023年11月28日   28   0   0 算法与数据结构

字符串哈希 字符串哈希就是将一个字符串映射为P进制的整数. 将一个字符串映射成一个P进制整数对于一个长度为n的字符串s,这样定义一个Hash函数:\(h(s)=\sum_{i=1}^{n}s[i]\timesp^{n-i}(modM)\)例如,字符串,abc,其哈希值为\(ap^2+bp^1+c\) 如果两个字符串不一样,哈希值却一样,这种现象称为哈希碰撞 解决哈希碰撞的方法:巧妙地设置P和M的值,保证P与M互质.P通常取质数131或者13331M通常取大整数\(2^{64}\),把哈希函数值的数据类型定义为UUL(unsignedlonglong),超过则自动移除,等价于取模 解题步骤 ...

  7m9fxb7xzyg8   2023年11月26日   27   0   0 算法与数据结构

二分查找图解 使用二分查找的前提是所给的元素集合必须是单调的。 注意:本文图文并茂 将提供以下图文链接供大家理解:图文链接:飞书图解链接🎉🎉🎉密码:2k851&54 整数二分 查找最后一个小于等于q的元素的下标 模板代码,展开查看 intlast(intq){ intl=-1,r=n; while(l+1<r){ intmid=l+r>>1; if(a[mid]<=q)l=mid; elser=mid; } returnl; } 元素存在返回对应元素的下标元素不存在返回最大小于该元素的元素的下标 查找第一个大于等于q的元素的下标 模板代码,展开查看...

  7m9fxb7xzyg8   2023年11月22日   39   0   0 算法与数据结构

动态规划 动态规划(DynamicProgramming,简称DP)。动态规划分为线性dp、树形dp、数位dp等等。 注意:本文图文并茂 将提供以下图文链接供大家理解:图文链接:飞书图解链接🎉🎉🎉密码:33547C4 1.dp起源 数字三角形 P1216[USACO1.5][IOI1994]数字三角形NumberTriangles案例1: 4 1 46 839 5721 案例2: 5 7 38 810 2744 45265 方法一:深搜(dfs) 代码如下: AC代码,展开查看 include<bits/stdc.h> usingnamespacestd; consti...

  7m9fxb7xzyg8   2023年11月21日   28   0   0 算法与数据结构

一、Android程序员需要具备的素养 应该热爱学习Android知识 具备基本的自学能力和解决问题的能力 具备实践能力 二、Android程序员最终需要熟练掌握的语言 Java(基本) C/C(进阶) Kotlin(基本) Python(可选) 三、Android学习路线 飞书学习路线图 学习路线图正在完善中...当然读者也可以提出宝贵建议。 四、博客文章说明 我将会按照Android学习路线图发布博客文章。 因本人才疏学浅,博客文章中难免有不足之处,还请各位读者指正,我会及时更改。 对于我的所有博客,读者可提出任何有益的建议,我会酌情采纳。 我的博客的所有文章全部免费,若转发请注...

  7m9fxb7xzyg8   2023年11月01日   94   0   0 Android开发
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~