NEFU 大一寒假训练六(二分查找)题目预测

说明

预测原理还是基于这篇文章:NEFU OJ 比赛试题预测 (Python)
为防止格式更正导致文章进入待审核状态,所以今天晚上就不修正格式了
如果有格式问题请自行理解,问题产生主要与Markdown有关

预测结果

在这里插入图片描述
2042题天天都不可用,假装没有这个题 共14题

正文部分


Problem:956 二分查找

MemoryLimit:65536K
TimeLimit:1000ms

Description:

有n(1<=n<=1000005)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请找出序列中第1个大于x的数的下标!

Input:

输入数据包含多个测试实例,每组数据由两行组成,第一行是n和x,第二行是已经有序的n个整数的数列。

Output:

对于每个测试实例,请找出序列中第1个大于x的数的下标!。

SampleInput:

3 3
1 2 4

SampleOutput:

2

Hint:

本题为多组数据,while(scanf("%d%d",&n,&m)!=-1)即可。


Problem:1211 卖古董-DP-二分

MemoryLimit:65535K
TimeLimit:1000ms

Description:

你的朋友小明有n个古董,每个古董的价值给出,然后小明要在接下来的m天内将所有古董依次卖出(注意:必须依次卖出,也就是从第一个开始卖卖到最后一个),小明希望
的是这m天内每天卖出的价值和的最大值最小,你来帮助他把?

Input:

一共T组数据,每组一个n和m,代表n个古董以及m天(1<=m<=n),然后下面n行为古董的价值,古董价值为1到10000(1<=n<=100000)

Output:

输出m天内卖出的古董价值和的最大值(当然是最优的时候),我们希望的是这个最大值越小越好

SampleInput:

3
7 5
100
400
300
100
500
101
400
4 3
2
6
2
4
4 2
2
6
2
4

SampleOutput:

500
6
8

Hint:

分成几段 {100,400}{300,100},{500},{101}{400};这里分成了5段; 每段都 <=500;
500是很多成功分段方案中,每段的最大值当中最小的一组;


Problem:1245 二分查找加强版

MemoryLimit:65535K
TimeLimit:3000ms

Description:

有n(1<=n<=2000005)个整数,是乱序的,现在另外给一个整数x,请找出序列排序后的第1个大于x的数的下标!

Input:

输入数据包含多个测试实例,每组数据由两行组成,第一行是n和x,第二行是已经有序的n个整数的数列。

Output:

对于每个测试实例,请找出从小到大排序后的序列中第1个大于x的数的下标!。

SampleInput:

3 3
1 4 2

SampleOutput:

2

Problem:1303 简单几何-二分

MemoryLimit:65535K
TimeLimit:1000ms

Description:

一个长方体体积为v1,长为r,高为h,宽为1。一个圆柱体体积为v2,底面半径为r,高为h。r的取值范围为0<r<=100000,h的取值范围为1<=h<=100000的整数。给出h求使v2与v1的差值小于等于r^π的r的最小值

Input:

输入第一行为一个整数t,表示接下来有t组数据。第二行到第t+1行,每行一个整数表示h

Output:

输出r并保留4位小数

SampleInput:

4
1
2
3
4

SampleOutput:

2.4073
4.7047
6.8441
8.8921

Problem:1645 小清新的函数坐标-二分

MemoryLimit:65535K
TimeLimit:1000ms

Description:

一天,小清新用一些奇奇怪怪的工具绘制函数图像,玩得不亦乐乎,期间发现了一个函数:
F(x) = 0.0001 x^5 + 0.003 x^3 + 0.5 x - 3 ,聪明的他一眼see穿了它的单调性,现在,小清新想标注一些点,已经写出了它们的 y 坐标值 ,聪明的你能帮助 可爱善良的小清新把对应的 x 坐标值找出来么。谢谢啦!
保证: -20 < x < 20 。答案精确到小数点后第5位。数据多组输入形式。

Input:

(多组输入)每行一个实数 y

Output:

每行一个四位小数 x

SampleInput:

-356.957952
350.957952

SampleOutput:

-19.9995
19.9995

Problem:1646 小清新的二分查找之旅

MemoryLimit:127535K
TimeLimit:3000ms

Description:

小清新又在疯狂懵逼了,遇到了一道题,并且发誓绝对不会告诉别人:在题号899的题目上脸懵逼了好久,于是他决定强化一下题目900,以抒发心中的抑郁之气。所以……
给出一组整数,整数个数为n,n不超过1,000,000,问这组整数中是否有k,总共询问q次。

Input:

多组输入。
每组输入输入:
第一行2个整数:n q ,1 <=q , n <= 1,000,000 。
第二行 有 n 个整数,已升序排序。所有数 <= 1 e 9+7.
第三行 有 q 个整数,用于查询。
每行各数据之间有空格隔开。

Output:

对每个查询数据分别输出一行
存在输出:
no
不存在输出:
YES

SampleInput:

5 2
1 2 3 4 5
2 10

SampleOutput:

no
YES

Problem:1647 小清新的二倍问题加强版-二分-桶排

MemoryLimit:65535K
TimeLimit:4000ms

Description:

小清新又要使坏了,他发现二倍问题(Problem 8)并不能难住大家,于是他决定悄咪咪的改一波数据。
于是:
给定2到10,000个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。

Input:

输入包括n组测试数据。第一行一个正整数 n 。
接下来n行表示n组数据,每组数据为一行,给出2到10,000个两两不同且小于100,000的正整数。每一行最后一个数是0,表示这一行的结 束后,这个数不属于那2到10,000个给定的正整数。

Output:

对每组输入数据,输出一行,给出有多少个数对满足其中一个数是另一个数的两倍。

SampleInput:

3
1 4 3 2 9 7 18 22 0
2 4 8 10 0
7 5 11 13 1 3 0

SampleOutput:

3
2
0

Problem:1648 小清新切绳子-二分

MemoryLimit:65535K
TimeLimit:1000ms

Description:

小清新又双叒叕被WA疯了,原来是被double类型的精度给坑了,但题目那么好,怎么能不安利一波呢=。=
于是他悄悄地修改了下数据,安利给那些可爱的小可爱们(没错( ̄▽ ̄)~*),就是屏幕前的你们。
有N条绳子,它们的长度分别为Li。如果从它们中切割出K条长度相同的绳子,这K条绳子每条最长能有多长?

Input:

多组输入!
第一行两个整数N和K,接下来一行N个整数,描述了每条绳子的长度Li ,以空格隔开。
对于100%的数据 1<=Li<10,000,000 , 1<=n,k<=10000

Output:

切割后每条绳子的最大长度(一个整数)

SampleInput:

4 11
802 743 457 539

SampleOutput:

200

Hint:

二分

Source:

小清新(改编自洛谷)


Problem:1654 孙悟空耍赖皮

MemoryLimit:65535K
TimeLimit:4000ms

Description:

王者农药中,对面有N个英雄,他们的血量分别为Li。作为新手,羽裳玩的孙悟空老是被对面阴死,在她受不了的时候,她写了一个外挂 ,准备耍赖。她的外挂一下可以释放k个ans的伤害(这k次伤害会加到羽裳选的英雄身上)。如果一个英雄一下被羽裳玩死了的话(血量 减到零以下,零血量不算死),马爸爸就会查出来。羽裳不想被查水表,但又想让对面受到的伤害最大(ans最大),作为羽裳的朋友,她想让你帮她算算ans最大是多少。

Input:

多组输入!
第一行两个整数N和K,接下来一行N个整数,描述了每条英雄的血量Li ,以空格隔开。
对于100%的数据 1<=Li<10,000,000 , 1<=n,k<=10000

Output:

ans

SampleInput:

4 11
802 743 457 539

SampleOutput:

200

Source:

哈(来自陆大佬)


Problem:1656 进击的奶牛-二分

MemoryLimit:65535K
TimeLimit:1000ms

Description:

Farmer John建造了一个有N(2<=N<=100,000)个隔间的牛棚,这些隔间分布在一条直线上,坐标是x1,…,xN (0<=xi<=1,000,000,000)。

他的C(2<=C<=N)头牛不满于隔间的位置分布,它们为牛棚里其他的牛的存在而愤怒。为了防止牛之间的互相打斗,Farmer John想把这些 牛安置在指定的隔间,所有牛中相邻两头的最近距离越大越好。那么,这个最大的最近距离是多少呢?

Input:

多组输入
第1行:两个用空格隔开的数字N和C。
第2行:每行N个整数,表示每个隔间的坐标,以空格隔开。

Output:

对于每组输入,
输出只有一行,即相邻两头牛最大的最近距离。

SampleInput:

5 3
1 2 8 4 9

SampleOutput:

3

Source:

洛谷


Problem:1708 书的复制-dp-二分

MemoryLimit:65535K
TimeLimit:1000ms

Description:

现在要把m本有顺序的书分给k给人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一、第三、第四本书给同一个人抄写。
现在请你设计一种方案,使得复制时间最短。复制时间为抄写页数最多的人用去的时间。

Input:

第一行两个整数m,k;(0<=k≤m≤500)

第二行m个整数,第i个整数表示第i本书的页数。
注意:这里可以输入0 0;

Output:

共k行,每行两个整数,第i行表示第i个人抄写的书的起始编号和终止编号。k行的起始编号应该从小到大排列,如果有多解,则尽可能让前面的人少抄写。

SampleInput:

9 3
1 2 3 4 5 6 7 8 9

SampleOutput:

1 5
6 7
8 9

Hint:

洛谷


Problem:1733 数列分段-二分

MemoryLimit:65535K
TimeLimit:1000ms

Description:

对于给定的一个长度为N的正整数数列A-i,现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小。

关于最大值最小:

例如一数列4 2 4 5 1要分成3段

将其如下分段:

[4 2][4 5][1]
第一段和为6,第2段和为9,第3段和为1,和最大值为9。

将其如下分段:

[4][2 4][5 1]
第一段和为4,第22段和为6,第33段和为6,和最大值为6。

并且无论如何分段,最大值不会小于6。

所以可以得到要将数列4 2 4 5 1要分成3段,每段和的最大值最小为6。

Input:

第11行包含两个正整数N,M。

第22行包含N个空格隔开的非负整数A_i
含义如题目所述。

Output:

一个正整数,即每段和最大值最小为多少。

SampleInput:

5 3
4 2 4 5 1

SampleOutput:

6

Hint:

N≤100000,M≤N,A i之和小于1e9

Source:

洛谷


Problem:1751 切绳子实数版-二分

MemoryLimit:65535K
TimeLimit:1000ms

Description:

有N条绳子,它们的长度分别为Li。如果从它们中切割出K条长度相同的

绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位。

Input:

第一行两个整数N和K,接下来N行,描述了每条绳子的长度Li。

Output:

切割后每条绳子的最大长度。

SampleInput:

4 11
8.02
7.43
4.57
5.39

SampleOutput:

2.00

Source:

洛古


Problem:1753 砍伐树木-二分

MemoryLimit:65535K
TimeLimit:1000ms

Description:

小华被大林叫去砍树,他需要砍倒 m 米长的木材。现在,小华弄到了一个奇怪的伐木机。伐木机工作过程如下:小华设置一个高度参数 h(米),伐木机升起一个巨大的锯片到高度 h,并锯掉所有的树比 h 高的部分(当然,树木不高于 h 米的部分保持不变)。小华就得 到树木被锯下的部分。
例如,如果一行树的高度分别为 20、15、10 和 17 米,小华把锯片升到 15 米的高度,切割后树木剩下的高度将是 15、15、10 和 15 米,而小华将从第 1 棵树得到 5 米,从第 4 棵树得到 2 米,共得到 7 米木材。
小华非常关注生态保护,所以他不会砍掉过多的木材。这正是他为什么要尽可能高地设定伐木机锯片的原因。帮助小华找到伐木机锯片的最大的整数高度 h,使得他能得到的木材至少为 m 米。换句话说,如果再升高 1 米,则他将得不到 m 米木材。

Input:

第 1 行 2 个整数 n 和 m,n 表示树木的数量,m 表示需要的木材总长度。
第 2 行 n 个整数,表示每棵树的高度,值均不超过 10^9 。保证所有木材长度之和大于 m,因此必然有解。

Output:

一行一个整数,表示砍树的最高高度。

SampleInput:

5 20
4 42 40 26 46

SampleOutput:

36

Hint:

对于 100% 的数据满足:1≤n≤106 ,1≤m≤2×109

发布了32 篇原创文章 · 获赞 104 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/csg999/article/details/103834618