
二分算法
文章平均质量分 62
二分算法题集
卢癸鸳
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
整数二分、实数二分
【代码】整数二分、实数二分。原创 2023-03-29 18:59:08 · 403 阅读 · 0 评论 -
追梦算法----Best Cow Fences
题目描述原题来自:USACO 2003 Mar. Green给定一个长度为 n 的非负整数序列 A ,求一个平均数最大的,长度不小于 L 的子段。输入格式第一行用空格分隔的两个整数 n 和 L;第二行为 n 个用空格隔开的非负整数,表示 Ai。输出格式输出一个整数,表示这个平均数的 1000 倍。不用四舍五入,直接输出。样例输入数据 110 66 4 2 10 3 8 5 9 4 1Copy输出数据 16500Copy数据范围与提示原创 2022-03-21 19:49:57 · 924 阅读 · 0 评论 -
追梦算法----愤怒的牛
题目描述原题来自:USACO 2005 Feb. Gold农夫约翰建造了一座有n间牛舍的小屋,牛舍排在一条直线上,第i间牛舍在 xi的位置,但是约翰的m头牛对小屋很不满意,因此经常互相攻击。约翰为了防止牛之间互相伤害,因此决定把每头牛都放在离其它牛尽可能远的牛舍。也就是要最大化最近的两头牛之间的距离。牛们并不喜欢这种布局,而且几头牛放在一个隔间里,它们就要发生争斗。为了不让牛互相伤害。John 决定自己给牛分配隔间,使任意两头牛之间的最小距离尽可能的大,那么,这个最大的最小距离是...原创 2022-03-20 15:02:05 · 342 阅读 · 0 评论 -
追梦算法----数列分段 II
题目描述对于给定的一个长度为N的正整数数列A,现要将其分成M段,并要求每段连续,且每段和的最大值最小。例如,将数列 42451要分成3段:若分为 [42] [45] [1],各段的和分别为 6,9,1,和的最大值为9;若分为[4] [24] [51],各段的和分别为 4,6,6,和的最大值为6;并且无论如何分段,最大值不会小于66。所以可以得到要将数列 42451要分成3段,每段和的最大值最小为6。输...原创 2022-03-22 20:36:45 · 1786 阅读 · 0 评论 -
追梦算法----「NOIP2015」跳石头
题目描述一年一度的“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有N块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。由于预算限制,组委会至多从起点和终点之间移走M块岩石(不能移走起点和终点的岩石)。输入格式输入文件第一行包含三个整数 L,...原创 2022-03-20 20:59:57 · 293 阅读 · 0 评论 -
追梦算法----P1117. 二分查找
题目描述输入n个不大于1e9的单调不减的非负整数然后有m次询问,对于每次询问输出该数字在数列中第一次出现时的序号。如果没有找到输出-1。输入格式第一行 2 个整数 n 和 m,表示数字个数和询问次数。 1<=n<=1e6,1<=m<=1000;第二行 n 个整数,表示这些待查询的数字。第三行 m 个整数,表示询问这些数字的编号,从 1 开始编号。输出格式m个整数表示答案样例输入数据 111 31 3 3 3 5 7 9 11 13 15 1原创 2022-03-19 21:36:59 · 364 阅读 · 0 评论 -
追梦算法----二分算法
二分算法是什么二分搜索是一种时间复杂为l o g 2 n 的算法,可以用于单调函数求根和单调序列查询的有效算法,即使在数列长度在很大的情况下也能很快对其查询,在此同时二分算法也是一种思维方式,在很多解题过程中可以更好的优化代码等等二分算法的原理每次拿目标数值(以下用key表示)与数组中间位置的数据(以下用a[mid]表示,mid表示数组中间位置索引值)进行比较,如果key大于a[mid],继续将key与大于a[mid]部分的中间位置的值进行比较;如果key小于a[mid],继续将key与小于a[mi原创 2022-03-19 21:51:16 · 437 阅读 · 0 评论 -
二分算法的做题步骤
1、判断使用二分算法做题(如果出现下面任意一种情况都极大可能是使用二分算法):如果数据范围在 1e4 ~ 1e6 或者给出的数据是一串数据,无论有没有序题目需要求的是最大值最小(最小值最大)的问题2、读入数据3、排序(大部分题目都需要排序),像求某一段子段的长度的问题不允许排序。4、定义左边界( l = -1 )和右边界 ( r = n ), n 可以是下标,也可以是给定数据的某个值(但一定是在数据里是在最右边的存在)。5、判断循环...原创 2022-04-08 11:56:09 · 245 阅读 · 0 评论 -
追梦算法----A-B数对
Description出题是一件痛苦的事情!相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈!好吧,题目是这样的:给出一串数以及一个数字 C,要求计算出所有 A - B = CA−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。Input输入共两行。第一行,两个整数 N, C。第二行,N 个整数,作为要求处理的那串数。Output一行,表示该串数中包含的满足 A - B = CA−B=C 的数对的个数。原创 2022-04-07 20:01:35 · 1592 阅读 · 0 评论