自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 关于快速幂

当我们求一些类似于a^k%p这些题目时,在求a^k时,如果使用暴力的算法,那么显而易见,要进行k次循环。因此快速幂就应运而生了,它只需要logk的复杂度。 其实它的核心思想就是将k转换成二进制,从而简化计算。例如求a^5时,5可以化为101,因此就可以变成a^2^0*a^2^2,由原来的5步转换为2步,大大简化了计算。下面我贴上我的代码。 #include "iostream" #include "algorithm" using namespace std; typedef long long

2022-02-23 01:10:50 80

原创 关于堆的建立

虽然有时候建队时大家会使用优先队列建堆,但stl建堆无法删除和修改其中的某个元素,因此今天我先复习一下用一维数组建堆。 堆是一种完全二叉树,除最后一排都会填满,手动建堆分为以下几步。插入一个数,寻找最小值,最后删掉最小值。堆的维护是通过类似于比较父节点或儿子节点的大小然后anup和down的操作来实现的。举一个简单的堆排序。 #include <iostream> #include <algorithm> using namespace std; const int N

2022-02-21 23:18:21 506

原创 cf补题(2.20)

关于前几天的cf,c题是一个典型大数加减的变形,贴一下原题。 Tanya is learning how to add numbers, but so far she is not doing it correctly. She is adding two numbersaaandbbusing the following algorithm: If one of the numbers is shorter than the other, Tanya adds leading zeros s...

2022-02-20 23:55:57 202

原创 关于用Dijksra算法求最短路

Dijksra是图论中的一种最基础的算法,但之前我对其理解有偏差,直到今天才纠正过来。 首先Dijksra是一种基于贪心的算法,可以求解最短路问题,但不能用于对于负全边的计算上。其思想简单来说就是将将所有地点分为s(已确定到起点最短路)和p(未确定)两个集合,通过n次迭代,每次从p中找到最短路径t来,并将t加入s中,从而确定最短距离。例如 蒜头君来到一个巨大的游乐场,这里有n个景点。景点和景点之间不能步行,只能乘坐指定的游览车。游览车的数量是无限的,只要你想乘坐就能瞬间出发。现在有m种类型的游览...

2022-02-19 22:38:25 525

原创 关于KMP字符串

关于kmp,实际上算是一种比较抽象的概念,其是在暴力算法的基础上所进行优化。在起初,一些匹配字符串上我就会常常去使用暴力枚举的方法。例如有很经典的一道例题。 Findalloccurrences of the stringwordin thestringtext. Input Thefirstlinecontainsthe stringtext,the secondlinecontainsthe stringword.Thelengthof each stringis greater t...

2022-02-19 00:52:05 402

空空如也

空空如也

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

TA关注的人

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