2024河南萌新联赛第(四)场 河南理工大学

news2024/11/18 12:02:09

B.小雷的神奇电脑

题目:

原题链接
给出量个数n,m,一个有n个数的数组,数组里每个数不超过2^m,求数组任意两个数同或后的最大值。同或定义:二进制下相同为1,不同为0。

思路:

观察同或的定义可以发现相邻的数同或得出的结果是最大的,所以我们需要先把数组排序,我先运用了异或的性质,用a[i]^a[i+1],求出异或后的最小值,然后再利用bitset把每一位都取反就是同或后的最大值。因为我定义的是31位数,所以需要把前len-m位数置0。最后转为10进制数就可以了。

AC代码:

#include <bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
const int N = 2e5 + 20;
int a[N], b[N], c[N];
//bitset<31> s;
int ans = INT_MAX;

signed main() {
	IOS
	int n, m, s = 0, x = 0, d;
	cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		cin >> a[i];
	}
	sort(a + 1, a + n + 1);
//	for (int i = 1; i <= n; i++) {
//		int tt = a[i];
//		while (tt != 0) {
//			//cout << "-1" << '\n';
//			x = x * 10 + (tt % 2);
//			tt = tt / 2;
//			b[s]++;
//		}
//		//cout << x << '\n';
//		if (b[s] != b[s - 1] && s != 1 && s != 0)
//			break;
//		s++;
//		x = 0;
//		c[i] = a[i];
//	}
	//cout << s << '\n';
	for (int i = 1; i < n ; i++) {
		d = a[i] ^ a[i + 1];
		ans = min(ans, d);
	}
	bitset<31> q(ans);
	q.flip();
	string dd = q.to_string();

	int len = dd.size();
	for (int i = 0; i < len - m; i++)
		dd[i] = '0';

	//cout << dd << '\n';
	int cnt = 0;
	for (int i = 0; i < 31; i++) {
		cnt = cnt * 2 + (dd[i] - '0');
		//cout << dd[i] - '0' << " ";
	}
	cout << cnt << '\n';
}

C.岗位分配

题目:

原题链接
有众多志愿岗位需要被分配,给你志愿者人数和一个数组,数组中的值是每个地方至少要分配的人数,求可能的分配情况总数。

思路:

题目上说可以剩余,因为不管怎么分我们都要保证志愿岗位的最小志愿者人数,所以我们只需要讨论剩下的人怎么分配。
假设4个人需要分配到3个岗位中:
首先4可以分为(1,3),(2,2),(1,1,2),(4),如果是按照高中所学的隔板分配法,那么就是假设4个小球2个隔板,结果为 C_5^2=10;
这样我们明显是少了(1,3),(2,2)这两种含0的情况,所以我们要加上一个小球,令这个小球的价值为0,所以结果就是C_6^2=15。
这样,就可以得出:
0个人分配3个岗位 C_2^2=1
1个人分配3个岗位 C_3^2=3
2个人分配3个岗位 C_4^2=6
3个人分配3个岗位 C_5^2=10
4个人分配3个岗位 C_6^2=15
因此可以得出结论
在这里插入图片描述

AC代码:

#include<bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;
const int N=2e5+20;
const int mod=998244353;
int inv[N],fac[N];

//快速幂
int quick(int a,int b)
{
	int ans=1;
	while(b)
	{
		if(b&1)
		ans=(ans*a)%mod;
		b>>=1;
		a=(a*a)%mod;
	}	
	return ans;
}

void init()
{//求阶乘 
	fac[0]=1;
	for(int i=1;i<N;i++)
	fac[i]=fac[i-1]*i%mod;
	//求逆元
	inv[N-1]=quick(fac[N-1],mod-2);
	for(int i=N-2;i>=0;i--)
	inv[i]=inv[i+1]*(i+1)%mod; 
}

int s(int n,int m)
{
	if(m>n)
	return 0;
	if(m==0)
	return 1;
	return fac[n]*inv[m]%mod*inv[n-m]%mod;
}

signed main()
{
	IOS
	init();
	int n,m;
	cin>>n>>m;
	int sum=0;
	for(int i=0;i<n;i++)
	{
		int a;
		cin>>a;
		m-=a;
	}
	int ans=0;
	for(int i=0;i<=m;i++)
	ans=(ans+s(n+i-1,n-1))%mod;
	cout<<ans<<'\n';
}

D.简单的素数

题目:

原题链接
多实例,给出一个数x,是素数输出Yes,不是输出No。

思路:

签到题,暴力判断素数就可以了。

AC代码:

#include <bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;

signed main() {
	int t;
	cin >> t;
	while (t--) {
		int x, f = 1;
		cin >> x;
		int k = sqrt(x);
		for (int i = 2; i <= k; i++) {
			if (x % i == 0) {
				f = 0;
				cout << "No" << '\n';
				break;
			}

		}
		if (f == 1)
			cout << "Yes" << '\n';
	}
}

F.小雷的算式

题目:

原题链接
给出一个只含加法的式子,把数字从大到小排序后输出,并输出结果。

思路:

我是首先把这个式子中含的每一个数用数组储存起来,然后从小到大排序后取反,输出出来。然后再把每一个数相加,输出结果。

AC代码:

#include <bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;

const int N = 2e5 + 10;
int a[N];

signed main() {
	IOS
	string s;
	cin >> s;
	int x = 0, ans = 0;
	int len = s.size();
	for (int i = 0; i < len; i++) {
		if (s[i] != '+')
			a[x] = a[x] * 10 + (s[i] - '0');
		if (s[i] == '+')
			x++;
		//cout << x << '\n';
	}
	sort(a, a + x + 1);
	reverse(a, a + x + 1);
	for (int i = 0; i < x; i++)
		cout << a[i] << "+";
	cout << a[x];
	cout << '\n';
	for (int i = 0; i <= x; i++)
		ans += a[i];
	cout << ans << '\n';
}

H.聪明且狡猾的恶魔

题目:

原题链接
给出一个数x代表金币数量,n代表恶魔数量。需要让50%及以上的恶魔利益最大,求最多可以获得多少金币。

思路:

要想获得最大金币数量,当恶魔数量为偶数时只需要满足50%,给(n/2)-1只恶魔一只一个金币,那自己所获得的金币数量就是x-(n/2)+1;当奇数时,需要让(n/2)+1只满意,需要给(n/2)只恶魔一只一个,此时金币数量是x-(n/2)。

AC代码:

#include <bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
using namespace std;

signed main() {
	IOS
	int t;
	cin >> t;
	while (t--) {
		int x, n;
		cin >> x >> n;
		if (n % 2 != 0)
			cout << x - (n / 2) << '\n';
		else
			cout << x - (n / 2) + 1 << '\n';
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1991406.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第十二章:设置pod和容器权限-保障集群内节点和⽹络安全

本章内容包括&#xff1a; 在pod中使用宿主机节点的默认Linux命名空间以不同用户身份运行容器运行特权容器添加或禁用容器内核功能定义限制pod行为的安全策略保障pod的网络安全 谈到了如何保障API服务器的安全。如果攻击者获得了访问API服务器的权限&#xff0c;他们可以通过在…

虹科新品 | PDF记录仪新增蓝牙®接口型号HK-LIBERO CL-Y

新品发布&#xff01;HK-LIBERO CE / CH / CL产品家族新增蓝牙接口型号HK-LIBERO CL-Y&#xff01; PDF记录仪系列新增蓝牙接口型号 HK-LIBERO CL-Y HK-LIBERO CE、HK-LIBERO CH和HK-LIBERO CL&#xff0c;虹科ELPRO提供了一系列高品质的蓝牙&#xff08;BLE&#xff09;多用途…

锂电池充电板电路设计

写这篇文章的目的主要是个人经验的总结&#xff0c;希望能给开发者们提供一种锂电池充电电路以及电源显示的电路思路。接下来从以下几个方面讲述电路。 设计这款电路的初衷是想用一块硬币大小的锂电池作为供电电源&#xff08;3.5V-4.2V&#xff09;&#xff0c;降压供给3.3V电…

c语言学习,isalpha()函数分析

1&#xff1a;isalpha() 函数说明&#xff1a; 检测参数c&#xff0c;是否为英文字母 2&#xff1a;函数原型&#xff1a; int isalpha(int c) 3&#xff1a;函数参数&#xff1a; 参数c&#xff0c;为检测英文字母 4&#xff1a;返回值&#xff1a; 参数c为字母&#xff0c…

Java封装原生ES

文章目录 &#x1f31e; Sun Frame&#xff1a;SpringBoot 的轻量级开发框架&#xff08;个人开源项目推荐&#xff09;&#x1f31f; 亮点功能&#x1f4e6; spring cloud模块概览常用工具 &#x1f517; 更多信息1.spring-data-es操作ES1.引入依赖2.application.yml配置uris3…

浮点数及其计算

目录 引言 1.浮点数的表示 1.1浮点数的作用和基本原理 1.2浮点数规格化 左规 右规 2.IEEE 754 标准 2.1图示&#xff1a; 2.2 阶码的全零全一有特殊含义: 2.3 IEEE 754 表示的范围&#xff1a; 2.4 十进制转IEEE 754&#xff1a; 2.5 IEEE 754转十进制&#xff1a…

Electron-builder 打包

项目比较简单&#xff0c;仅使用了 Electron 原生js 安装 electron-builder npm install electron-builder --dev配置 package.json 中的打包命令 {"script":{// ..."dev": "electron .","pack": "electron-builder"} }添…

【QT】Qt 音视频

Qt 音视频 Qt 音视频1. Qt 音频2. Qt 视频 Qt 音视频 在 Qt 中&#xff0c;音频主要是通过 QSound 类来实现。但是需要注意的是 QSound 类只支持播放 wav 格式的音频文件。也就是说如果想要添加音频效果&#xff0c;那么首先需要将非 wav 格式的音频文件转换为 wav 格式。 通…

MySQL 5.7 DDL 与 GH-OST 对比分析

作者&#xff1a;来自 vivo 互联网存储研发团队- Xia Qianyong 本文首先介绍MySQL 5.7 DDL以及GH-OST的原理&#xff0c;然后从效率、空间占用、锁阻塞、binlog日志产生量、主备延时等方面&#xff0c;对比GH-OST和MySQL5.7 DDL的差异。 一、背景介绍 在 MySQL 数据库中&…

普元Devops学习笔记-devops构建后jenkins流水线sleep 1hr 23min的问题

1 背景 java项目命名为 simple2。 命名有点随意&#xff0c;不要在意这个&#xff0c;不重要。 simple2的代码维护在gitlab中。 simple2项目有两个git分支&#xff1a; dev 和 master 开发中的代码在 dev分支&#xff0c;dev分支需要合并(merge)到master主分支。 基于此目…

电机控制器遇上第三代半导体,杀手锏是什么?

导语 华东电机控制器市场的创新方向&#xff0c;文中参考答案都有了。 前言 随着工业自动化和智能化进程的加速推进&#xff0c;电机控制器作为驱动系统的核心部件&#xff0c;在推动产业升级转型中扮演着至关重要的角色。华东电机控制器市场以其独特的优势异军突起&#xff0c…

【C++ STL】unordered_mapunordered_set (哈希表)

文章目录 unordered_map&unordered_set1. unordered容器1.1 效率对比 2. 哈希2.1 哈希的定义哈希函数除留余数法自定义哈希函数 哈希冲突 2.2 哈希冲突的解决闭散列/开放定址法两种探测方式闭散列扩容 开散列/拉链法/哈希桶开散列实现 3. 模拟实现3.1 改造哈希表3.2 封装容…

GPIO输入模式之按键控制及光敏传感器控制应用案例

系列文章目录 STM32之GPIO&#xff08;General Purpose Input/Output&#xff0c;通用型输入输出&#xff09; GPIO输出控制之LED闪烁、LED流水灯以及蜂鸣器应用案例 文章目录 系列文章目录前言一、按键简介二、传感器模块简介2.1 AO模拟量输出模块2.2 DO数字量输出模块2.3 指…

【C语言加油站】数据在内存中的存储

数据在内存中的存储 导读一、计算机中的数据类型二、整数在计算机中的存储2.1 整数的存储形式——原码、反码与补码2.2 三种形式之间的相互转换2.3 采用补码存储整数的原因 三、大小端字节序与字节序判断3.1 大端存储与小端存储3.2 为什么会出现大小端存储&#xff1f;3.3 大端…

家用设备轻松搭建 AI 集群,畅跑 Llama 3.1 405B

作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 本文主要介绍如何在家用设备上运行大型开源语言模型Llama 3.1 405B,首先我会解释构建人工智能集群来提高运行效率的原理,随后会演示如何通过Distributed Llama项目支持在多个设备上运行LLM模型,并…

【STL】05.vector的模拟实现

一、vector的实现 1.1 基本框架 template<class T> class vector {typedef T* iterator;typedef const T* const_iterator; public:private:iterator _startnullptr;iterator _finishnullptr;iterator _end_of_storagenullptr; };1.2 vector的默认成员函数 1.2.1 构造…

如何通过大模型生成业务需要的数据集

现在大模型训练数据的主力都是LLM自己贡献的了。但是也不是说你让它输出什么&#xff0c;然后它就一劳永逸地不停地输出你想要的东西。受限于LLM本身的能力、上下文规定的长度、训练方式导致的有限变化&#xff0c;你需要不断变更你的prompt&#xff0c;以让输出更多样。 接下…

录屏为什么没有声音?一款软件为您解决无声难题

录屏已经成为我们日常工作和生活中不可或缺的一部分。然而&#xff0c;有时在录屏过程中&#xff0c;我们可能会遇到一个令人困惑的问题&#xff1a;录屏为什么没有声音&#xff1f;本文将详细解析电脑录屏没有声音的可能原因&#xff0c;并提供相应的解决方案。同时&#xff0…

YOLOv10问世,登顶GiTHub!性能飞升,【多尺度目标检测】值得大看特看!

【多尺度目标检测】是近年来在深度学习领域中备受关注的一项技术&#xff0c;它通过处理图像中不同尺度的目标&#xff0c;显著提升了模型在复杂场景中的检测精度和鲁棒性。多尺度目标检测技术已经在自动驾驶、安防监控和遥感图像分析等多个领域取得了显著成果&#xff0c;其独…

SQL Server Management Studio的使用

之前在 https://blog.csdn.net/fengbingchun/article/details/140961550 介绍了在Windows10上安装SQL Server 2022 Express和SSMS&#xff0c;这里整理下SSMS的简单使用&#xff1a; SQL Server Management Studio(SSMS)是一种集成环境&#xff0c;提供用于配置、监视和管理SQL…