牛客小白月赛30 题解

黑白边

https://ac.nowcoder.com/acm/contest/9667/A

A

题目描述 黑白边

使得 n 个点,两两联通, 那么就是一棵树, 只需要 n - 1 条边就可以了。

由于要很少的白边, 贪心的思想, 先把所有的黑边加上, 然后再添加白边。

用并查集维护有效边的个数, 有效边即这个边连接了两个不同的联通块。

如果有效边的个数不是 n - 1, 输出-1, 否则输出有效边里面白边的个数。

B

题目描述 最好的宝石

线段树操作,区间最大值,多了一个询问,就是求最大价值的宝石有多少个。

这个只需要再线段树合并的时候手动判断就可以了。

C

题目描述 滑板上楼梯

每次跳三阶不能连续, 所以就是一阶,三阶交替的跳。

x = n / 4;

y = n % 4;

如果 y < 3 , 那么答案就是 2 * x + y, 因为最后是恰好跳上去。所以最后跳 y 次一阶就可以了。

否则 答案就是 2 * x + 1

D

题目描述 GCD

牛牛有一个集合 包含 所有的数, 现在他想让你找一个最小的数 , 使得在 中任意找一个子集 集合中的元素个数为 中都存在两个数 ,且 . 如果找不到满足题目条件的 ,就输出,否则输出 .

为求 的最大公约数。

当 n < 4 的时候, 找不到答案, 所以 输出 -1

当 n > 4 的时候,如果选取 n 以内所有的素数 还有 1, 那么找不到两个数x y, 使得他们的 gcd > 1, 然而在添一个数, 就可以满足题目的条件了。

​ 所以答案就是 n 以内所以素数的个数 + 2

E

题目描述 牛牛的加法

模拟就可以了, 注意不要有前导0

F

题目描述 石子合并

贪心的想,每次找最大的石子堆,让他和相邻的合并,然后小的石子堆就被移除了。 所以最大的石子堆会用 n - 1次, 非最大的石子堆会用一次,

x = , sum =

所以答案就是 x * (n-1) + sum - x

G

题目描述 滑板比赛

因我牛牛知道了牛妹的动作顺序,所以可以排序。

分别对 a 和 b 进行从小到大排序。 然后倒序遍历。用 a 数组的最大值A和 b 数组的最大值B进行比较。

如果 A 大, 代表 A 可以匹配 b 数组剩下的所有值, 贪心的想, 就匹配 b 中的最大值 B。 那么答案加一,AB匹配。进行下一次比较。

如果 B 大, 那么找 A 中最小的动作和 B 进行匹配, A 可以用来下一次的匹配。

H

题目描述 第 k 小

维护一个大根堆

大根堆的容量是 k,维护的是前 k 小的数。 剩下的元素扔了就行。

每次加一个元素的时候, 放到大根堆里面, 如果大根堆的元素个数大于 k, 就不断的弹出元素。

询问的时候去大根堆的堆顶就可以了,如果堆里面的元素不够 k, 输出 - 1.

I

题目描述 区间异或

有一个长度为 的数组 , 有 次询问, 每次询问给一个值 , 找出一个最短的区间, 使得这个区间的异或和 , 输出区间长度。如果找不到输出

由于 数组元素为 3000 左右, 所以可以 的预处理, 处理出来每个长度区间异或的最大值。

得到每个区间长度 的异或最大值。

然后从前往后取 max,得到一个非递减的数组。

每次询问在这个数组里面二分一个最小的位置, 且这个位置的值 大于等于 x。

J

题目描述 小游戏

有一个长度为 的数组 , 每一步能拿走一个数,比如拿第 个数, ,得到相应的分数 ,但拿掉这个 后, (如果有 存在) 就会变得不可拿(但是有 的话可以继续拿这个 )。求最大分数。

先处理出来每个数出现的多少次。

每个数的大小很小, 所以可以 dp,

代表取到 i 这个数的时候得到的最大分数。

全部评论
大佬,D题什么意思?题意都没有看懂。为什么6输出5而不是2
1 回复 分享
发布于 2020-12-06 11:40
%%%F题直接膜,厉害
点赞 回复 分享
发布于 2020-12-07 23:08
如果选择集合 1 2 3 5,这四个数,是不满足条件的,但是在加任意一个数就满足题目要求
点赞 回复 分享
发布于 2020-12-06 12:19

相关推荐

“无名小卒,还是名扬天下?”我知道很多人都不觉得我能走到今天这一步,当然,也包括我自己。在我的人生里,有两部作品刻下了最深的烙印:《斗破苍穹》与《龙族》。它们总被人拿来对照:一边是萧炎的桀骜轻狂,一边是路明非的怯懦衰颓。有人说,天蚕土豆没见过魂天帝,但江南见过真凯撒。我时常觉得,自己就是那个衰小孩路明非。可路明非可以开挂,我不可以;我也无数次幻想过,能拥有萧炎那般年少轻狂的人生,可我没有他与生俱来的逆天天赋。我只是个平庸的普通人,一个看过《斗破苍穹》却开不了挂的路明非,只能一步一步往上爬。从我下定决心找实习的那一刻起,我就给自己定下了目标:“我一定要为字节跳动卖命.jpg”。萧炎有他的三年之约,我有我的两年半之约(其实是一年半)。2024.11.20,科大讯飞的第一封实习offer落进邮箱,我迈出了这场奔赴的第一步。2025.8.18,放弃百度转正的安稳机会,转身走进前路未卜的不确定里。2025.11.14,我选择走进字节跳动,以实习生的身份重新出发。2026.3.25&nbsp;-&nbsp;3.31,一周速通上海飞书,幸遇赏识我的伯乐,斩获Special&nbsp;Offer。被告知面试通过的那一刻,我的内心无比平静,就像这个offer本就该属于我。不是侥幸,是应得的。这一路,有人看轻过我的出身,不相信我能走到这里;也有人在我看不见前路的时候,替我举过灯。没有他们的鼓励与支撑,就没有今天站在这里的我。我看到了自强不息的激荡,那是一个双非的伟大乐章!我是雨夜迈巴赫,我要开启属于我的新篇章了。
在看牛客的本杰明很勇...:真心祝贺l总 我永远的偶像 我滴神
春招至今,你收到几个面试...
点赞 评论 收藏
分享
评论
14
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务