![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
往后尔尔
勿扰,谢谢
展开
-
倍增算法(思想不完整版大大们先将就)
老管家是一个聪明能干的人,他为财主工作了整整10年,财主为了让自己账单更加清楚,要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意,但是由于一些人的挑战,财主还是对管家产生了怀疑,于是它决定用一种特别的方法来判断管家的忠诚,他把每次的账目按1,2,3,....编号,然后不定时的问管家问题,问题是这样的,在a和b号账目中最少的一笔是多少?·先更新所有长度为a[i][0]即1个元素,然后通过2个1个元素的最值获得所有长度为a[i][1]即2个元素的最值,以此类推更新。最终得到x的13次方。原创 2024-04-02 20:26:14 · 183 阅读 · 0 评论 -
常见的几种最短路算法和Johnson(不是很重要)
其实还有一种常见的单源最短路算法,BellmanFord算法,可以判断负值,但是时间复杂度较高。2.Floyd全源最短路,适用于正权图,时间复杂度O(n^3)【边比较多点较少的图】3.跑n次Diikstra算法计算出所有为中心的单源最短路,即得到了全源最短路。1.Diikstra单源最短路,适用于正权图,时间复杂度O(nlogm)1.设置超级源点,用Bellmanford求单源最短路得到势能。2.在势能帮助下重新设置每条边的权重。原创 2024-03-31 08:22:11 · 261 阅读 · 0 评论 -
蓝桥杯-0玩具
小明的妈妈给他买了 n 个玩具,但是为了同时考察他的智力,只给了他 2×n 个零件,第wi个零件的重量为wi(1≤i≤2×n)。其中任意两个零件都可以拼接成一个玩具,这个玩具的权重就等于拼接所用的 两个零件的重量的乘积两个零件的重量的乘积。小明的妈妈希望小明能够使用这2×n 个零件拼接出 n 个玩具(每个零件必须使用且只能用一次),使得所有玩具的权重的和最小。小明希望你帮帮他计算出最小的权重和。原创 2024-03-30 00:29:11 · 219 阅读 · 0 评论 -
选择排序的练习题及答案(共三种方式实现选择排序)
风铃响原创 2024-03-27 14:25:49 · 238 阅读 · 0 评论 -
冒泡排序的习题全集(含答案)
愚人节,灰太狼为了给红太狼惊喜,研发了羊羊打印仪,能够利用青草打印小羊们的模样,于是,灰太狼历经磨难,取来了喜羊羊 懒洋洋 美羊羊 沸羊羊 暖洋洋的毛发。利用这些毛发,他们打印出了羊羊们,叫来红太狼,红太狼很高兴,认为最肥美的杨应该先使用,就和灰太狼善良这从肥到瘦的顺序开始吃,请你设计一个算法,随机输入小羊的体重,并按降序将其输出。1.给定一个包含红色,白色和蓝色,共n个元素的数组nums,原地对他们进行排序,使得相同颜色的元素相邻,并按照共色,白色,蓝色顺序排列。第二种办法是依赖于冒泡排序。原创 2024-03-26 22:06:56 · 1014 阅读 · 0 评论 -
位运算详解教程
数据以二进制的形式存储在设备中。即0,1两种状态。&与运算:只有当两位都为1的情况下才为1,其余情况全是0.|或运算:两个位上都为0时,结果才为0^异或运算:两个位相同为0.相异为1~取反运算 0变1 1变0<<左移运算向左移,高位丢弃,低位补0>>右移运算向右移,低位丢弃,高位补0。原创 2024-03-26 18:06:11 · 141 阅读 · 0 评论 -
双指针的详细教程
当满足一定条件时,将慢指针右移,即l++。1.使用两个指针l,r.一般l指向序列的第一个元素,即:l=1,r一般指向序列第零个元素,即:r=0。1 使用两个指针left,right.left指向序列第一个元素,即:left=1,right指向序列最后一个元素,即:right:n。2 在循环体中将左右指针相向移动,当满足一定条件时,将左指针右移,left++.当满足另外一定条件时,右指针左移right--两个指针以不同的速度,不同策略移动,直到快指针移动到数组尾端,或者两指针相交,或者满足其他特殊条件为止。原创 2024-03-25 22:21:39 · 1034 阅读 · 0 评论 -
贪心算法的习题答案
【代码】贪心算法的习题答案。原创 2024-03-25 21:59:45 · 781 阅读 · 0 评论 -
二分算法详、
给定n个数形成一个序列a,那定义如果一个连续子序列包含序列a中所有不同元素。则该连续子序列便为蓝桥序列,现在问你,该蓝桥序列长度最短为多少。例如 1 2 2 2 3 2 2 1 ,包含3个不同的数1,2,3,而3 2 2 1符合题目要求,因此答案为4。连续子序列:从序列a中选取若干个连续的数形成一个序列叫做连续子序列。二分算法:是用来在一个有序数组中查找一个元素的算法。输入一个待查的整数(该整数一定在数组data中),给定条件可以将集合中的元素分为两部分,输出一个整数,表示最短的蓝桥序列长度。原创 2024-03-19 21:08:45 · 670 阅读 · 0 评论