
算法
文章平均质量分 69
奔跑的梅花Lu
有问题直接在博客评论,私信可能看不到。
展开
-
快速幂求模幂
本文实现使用快速幂算法求模幂定义有限域GF(p)GF(p)GF(p), 要求域内元素的幂,即计算c=ab mod pc=a^b\ mod\ pc=ab mod p。快速幂算法要求c=ab mod pc=a^b\ mod\ pc=ab mod p,首先我们将 bbb 用二进制表示 b=(bn...b1b0)2b=(b_n...b_1b_0)_2b=(bn...b1b0)2。那么,b=bn2n+...+b121+b0原创 2021-11-15 22:32:16 · 341 阅读 · 0 评论 -
Move Zeroes
Move Zeroes发布时间: 2015年10月5日 19:26 时间限制: 800ms 内存限制: 256M描述将数组中的0移动的数据的末尾,而不影响其余非0数字的顺序。请原地移动,不要复制到新数组中。低于100ms 的算法,想想还有没有其他的更加通用的算法。输入第一行是数据的组数 n, n < 300万 之后每一行都是一个[-10, 10]的整数输出输出将0移动到末尾后的数组遍历结果,每行一个元素。样例输入1 复制501032样例输出11320原创 2021-11-04 15:21:11 · 129 阅读 · 0 评论 -
matlab 实现堆优化的迪杰斯特拉算法
迪杰斯特拉算法详细算法我就不多比比啦,本人比较懒。我看了下网上好像没有matlab 版堆优化的迪杰斯特拉,索性自己写了一个。堆也是自己写的,详情参见我的另一篇文章https://blog.youkuaiyun.com/shengsikandan/article/details/105396751。代码涉及到技术包括:使用元胞数组作为结构的最小堆,使用元胞数组实现类似c++里的vector容器D...原创 2020-04-11 21:37:10 · 1129 阅读 · 1 评论 -
matlab实现最小堆
最小堆的含义就不多比比了。最小堆可以应用于排序 ,详情可以参考文章堆排序 。最小堆的基本函数包括:构造堆,调整堆,弹出堆顶元素,添加一个元素。目录1.向下调整堆2.构造堆3.弹出堆顶元素4.添加新元素本文使用数组a表示一个堆。a(1)是堆顶元素。a(2*i) 和 a(2*i+1) 分别是 a(i) 的左右孩子。1.向下调整堆 从节点 i ...原创 2020-04-08 21:10:22 · 1378 阅读 · 2 评论 -
并查集
A - 并查集 #include #include #include #include #include #include using namespace std;int f[50010];int n,m;int t[50010];void init(){ for(int i = 0; i <= n; ++i) f[i] = i;}原创 2016-12-18 14:30:41 · 301 阅读 · 0 评论 -
小鼠迷宫问题
问题描述小鼠a与小鼠b身处一个m×n的迷宫中,如图所示。每一个方格表示迷宫中的一个房间。这m×n个房间中有一些房间是封闭的,不允许任何人进入。在迷宫中任何位置均可沿上,下,左,右4个方向进入未封闭的房间。小鼠a位于迷宫的(p,q)方格中,它必须找出一条通向小鼠b所在的(r,s)方格的路。请帮助小鼠a找出所有通向小鼠b的最短道路。小鼠的迷宫 编程任务对于给定的原创 2016-12-23 15:44:36 · 1106 阅读 · 0 评论 -
hdu 1175 连连看
警告:qdu14级信安同学不要复制此代码,否则会被查重D -连连看Time Limit:10000MSMemory Limit:32768KB64bit IO Format:%I64d & %I64uSubmitStatusDescription“连连看”相信很多人都玩过。没玩过也没关系,下面我给大家介绍一下游戏规则:在一原创 2016-12-04 21:08:45 · 442 阅读 · 0 评论 -
hdu - 数独问题
警告: qdu14级信安同学请不要复制此代码,要不然会被查重……E -数独问题Time Limit:1000MSMemory Limit:32768KB64bit IO Format:%I64d & %I64uSubmitStatusDescription自从2006年3月10日至11日的首届数独世界原创 2016-11-29 23:31:13 · 992 阅读 · 0 评论 -
最少购物费用问题
商店中每种商品都有标价。例如,一朵花的价格是2元。一个花瓶的价格是5 元。为了吸引顾客,商店提供了一组优惠商品价。优惠商品是把一种或多种商品分成一组,并降价销售。例如,3朵花的价格不是6元而是5元。2 个花瓶加1 朵花的优惠价是10 元。试设计一个算法,计算出某一顾客所购商品应付的最少费用。编程任务:对于给定欲购商品的价格和数量,以及优惠商品价,编程计算所购商品应付的最少费用。原创 2016-11-01 19:44:59 · 7947 阅读 · 3 评论 -
含重复元素的排列问题
问题描述:设集合R={r1,r2,...,rn}是要进行排列的n个元素,其中r1,r2,...,rn可能相同。试着设计一个算法,列出R的所有不同排列。即,给定n以及待排的n个可能重复的元素。计算输出n个元素的所有不同排列。大致思路:求含重复元素的排列问题,首先先求出不含重复元素的全排列。根据分治法,我们求n个元素的全排列,可以求出n-1原创 2016-10-13 16:13:15 · 4580 阅读 · 1 评论 -
循环赛日程表问题
问题描述: 设有n=2k(2的k次方)个选手要进行网球循环赛,要求设计一个满足以下要求的比赛日程表:(1)每个选手必须与其他n-1个选手各赛一次;(2)每个选手一天只能赛一次。 按此要求,可将比赛日程表设计成一个 n 行n-1列的二维表,其中,第 i 行第 j 列表示和第 i 个选手在第 j 天比赛的选手。循环赛日程表问题主要使用分原创 2016-10-13 16:01:42 · 1604 阅读 · 0 评论 -
冒泡、归并、快速、桶、堆排序
一、冒泡排序。 每次和后面的元素比较,如果当前元素比后面的就交换。这样就会把最大的筛选到最后,经过n趟就可以排完。时间复杂度O(n^2)。 对于元素数量很大的排序,时间非常慢。void swap(int a[],int i,int j){ int t; t = a[i]; a[i] = a[j]; a[j] = t;}int bubbleso原创 2016-03-29 16:35:43 · 546 阅读 · 0 评论