牛客春招刷题训练营 - 2025.5.20 题解

活动地址:牛客春招刷题训练营 - 编程打卡活动

Easy 循环求和

简要题意

Solution

欲求题式,只需求:

Code

void R()
{
	auto f=[&](i64 n)->i64
	{
		return n&1?n-n/2:-n/2;
	};

	i64 l,r;
	cin>>l>>r;
	cout<<f(r)-f(l-1)<<'\n';
	return;
}

Medium 小美走公路

简要题意

给一个正权边构成的环,求给定两点间最短路。

Solution

记边权和为 ,不妨设 ,答案为

Code

void R()
{
	int n;
	cin>>n;
	vector<i64> a(n+1);
	for (int i=1;i<=n;i++)
		cin>>a[i];
	partial_sum(a.begin(),a.end(),a.begin());
	
	int x,y;
	cin>>x>>y;
	i64 d=a[max(x,y)-1]-a[min(x,y)-1];
	cout<<min(d,a.back()-d);
	return;
}

Hard 游游的除2操作

简要题意

给定一个数组,每次操作可以将一个数变为它自身除以 下取整。求令数组内各数相同需要的最小操作次数。

Solution

multiset 维护,一直取最大的操作至最大的与最小的相等。

Code

void R()
{
	int n,ans=0;
	cin>>n;
	multiset<int> s;
	while (n--)
	{
		int x;
		cin>>x;
		s.insert(x);
	}
	while (*s.begin()!=*s.rbegin())
	{
		ans++;
		s.insert(*s.rbegin()/2);
		s.erase(prev(s.end()));
	}
	cout<<ans;
	return;
}
#牛客春招刷题训练营#
全部评论

相关推荐

05-27 10:39
已编辑
门头沟学院 golang
&nbsp;&nbsp;全程30min,进了公司还要填一大堆个人信息等表,查户口都没这么详细1、常规的介绍自己追问:&nbsp;打比赛,做项目做了哪些?追问:&nbsp;问大三家常。追问:&nbsp;根据你自我介绍做的专利,比赛项目是啥样的,比赛获奖了没?追问:&nbsp;这个项目用什么写的?(Java)追问:&nbsp;Java的多线程写过没有?(没写过,煮波Java真不会)(2)&nbsp;你觉得你配12K吗?(3)&nbsp;说说你认为你配多少K?题外话:&nbsp;问这两个问题,我的表情就是这样😊,实则内心🌚2、&nbsp;八股(1)&nbsp;说说go怎么实现并发的?(2)&nbsp;go协程用什么实现并发通信的?追问:&nbsp;协程底层是怎么执行的?(3)&nbsp;go的通信中共享内存和其他的共享内存中通信怎么理解?(4)&nbsp;说说go的类型传递?追问:&nbsp;为什么slice,map,channel是传递引用?(5)&nbsp;goroutine通信有哪些方式?(6)说说channel。追问:&nbsp;说说有缓冲和无缓冲(7)说说内存逃逸。(8)&nbsp;MySQL中怎么查询?说出具体查询语句。(9)&nbsp;MySQl怎么插入?说出具体插入语句(10)&nbsp;MySQL事务介绍一下?追问:&nbsp;事务有哪些性质?(11)&nbsp;MySQL索引怎么实现?(12)&nbsp;MySQL怎么实现事务?说出go实现的具体语句流程(13)&nbsp;MySQL的三大范式?解释一下。面试体验: 1、问题问得还行,有些很基础的题忘了。2、个人觉得面试官某些问题问的不是很友好,可能是想探探口气(我反手说不配,我就值6-8K)其他方面挺好的,会给你解答你没答上的问题和纠正你答错的。3、没有给反问的机会,直接说面试结束了,感觉不是很友好。已挂……
查看48道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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