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

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

简单题 进制转换

可以手动枚举最低位到最高位,也可以使用库函数直接转换。

#include <iostream>
#include <string>
using namespace std;
int main(void)
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	string s;
	cin>>s;
	cout<<stoi(s,nullptr,16);
	return 0;
}

中等题 合并表记录

开一个数组,累计每个索引的值。
输出时,枚举整个值域,如果值不为 0 ,才输出。
当然,也可以开个 map ,方便快捷。

#include <iostream>
#include <map> 
using namespace std;
int main(void)
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	map<int,int> a;
	int n,i,k,v;
	cin>>n;
	for(i=1;i<=n;++i)
	{
		cin>>k>>v;
		a[k]+=v;
	}
	for(auto &p:a)
		cout<<p.first<<' '<<p.second<<'\n';
	return 0;
}

困难题 称砝码

多重背包 典题,注意到物品数量限制不多,可以不用二进制优化。

#include <iostream>
#include <bitset>
using namespace std;
const int N=200100;
const int M=20;
bitset<N> b;
int m[M],x[M];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int n,i,j;
    cin>>n;
    for(i=1;i<=n;++i)
        cin>>m[i];
    for(i=1;i<=n;++i)
        cin>>x[i];
    b[0]=1;
    for(i=1;i<=n;++i)
        for(j=1;j<=x[i];++j)
            b|=b<<m[i];
    cout<<b.count();
    return 0;
}
#牛客春招刷题训练营#
全部评论

相关推荐

但听说转正率很低,我现在有在实习了,好纠结要不要去
熬夜脱发码农:转正率低归低,但是实习的经历你可以拿着,又不是说秋招不准备了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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