每日刷题(cf)

news2024/11/13 20:15:20

目录

1.C. Increasing Sequence with Fixed OR

2.C. Jellyfish and Green Apple

3.B. Jellyfish and Game


1.C. Increasing Sequence with Fixed OR

Problem - C - Codeforces

题目要求我们构造一个最长的序列,使得任意相邻两个元素按位或等于n,我们对n的二进制分析发现,最长序列就是n的二进制位中1位的个数,元素是依次将其中的某个1替换成0后大小。

#include<iostream>
#include<algorithm>
#include<queue>
#include<math.h>
#include<cstring>
#include<set>
#include<map>
#define int long long
#define TEST int T;cin>>T;while(T--)
#define lowbit(x) x&(-x)
using namespace std;
const int N = 1000010;
const int M = 1e9 + 7;
const int bit=63;
inline void solve() {
int n;
	cin>>n;
	vector<int>ans;
	for(int i=bit;i>=0;i--)
	{
		if((n>>i)&1)
		{
			int mask=~(1ll<<i);
			int k=n&mask;
			if(k!=0)
			ans.push_back(k);
		}
	}
	ans.push_back(n);
	cout<<ans.size()<<"\n";
	for(auto x:ans)
	cout<<x<<" ";
	cout<<"\n";
}
signed main() {
	TEST
	solve();
	return 0;
}

2.C. Jellyfish and Green Apple

Problem - C - Codeforces

我们可以对部分或完整的苹果分成两个原来的两半,我们可以一直分,直到当前的苹果数量可以整除人数。

#include<iostream>
#include<algorithm>
#include<queue>
#include<math.h>
#include<cstring>
#include<map>
#define ll long long
#define TEST int T;cin>>T;while(T--)
#define lowbit(x) x&(-x)
using namespace std;
const int N = 1000010;
const int M = 1e8 + 7;
int base1 = 131, base2 = 13311;
void solve() {
	ll n, m;
	cin >> n >> m;
	if (n % m == 0) {
		cout << "0\n";
		return ;
	}
	if ((n<<30)%m) {
		cout << "-1\n";
		return;
	}
	n%=m;
	ll ans=0;
	while(1)
	{
		ans+=n;
		n=(n*2)%m;
		if(n==0) 
		{
			cout<<ans<<"\n";
			return ;
		}
	}
}
int main() {
	TEST
	solve();
	return 0;
}

3.B. Jellyfish and Game

Problem - B - Codeforces

当k为奇数时,先手多操作一步。

当k为偶数时,先手和后手操作相同,但后手更有利。

由于二者都是按照最优方案,所以操作的元素肯定是各自数组里面的最大值和最小值。

按照最优贪心即可得到答案。

#include<iostream>
#include<algorithm>
#include<queue>
#include<math.h>
#include<cstring>
#include<map>
#define ll long long
#define TEST int T;cin>>T;while(T--)
#define lowbit(x) x&(-x)
using namespace std;
const int N = 1000010;
const int M = 1e8 + 7;
int base1 = 131, base2 = 13311;
void solve() {
	ll n, m, k;
	cin >> n >> m >> k;
	ll nmin = 1e9, nmax = -1, mmin = 1e9, mmax = -1, sum = 0;
	for (ll i = 1, x; i <= n; i++) {
		cin >> x;
		nmin = min(nmin, x);
		nmax = max(nmax, x);
		sum += x;
	}
	for (ll i = 1, x; i <= m; i++) {
		cin >> x;
		mmin = min(mmin, x);
		mmax = max(mmax, x);
	}
	if (k & 1) {
		sum += max(0ll, mmax - nmin);
	} else {
		if (mmax - nmin > 0) {
			sum += max(0ll, mmax - nmin);
			sum -= max(0ll, max(mmax, nmax) - min(nmin,mmin));
		} else {
			sum -= max(0ll, nmax - mmin);
		}
	}
	cout<<sum<<"\n";
}
int main() {
	TEST
	solve();
	return 0;
}

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

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

相关文章

汇智知了堂推出“鸿蒙系统开发培训”,探索万物互联新纪元

在数字化转型的浪潮中&#xff0c;操作系统作为连接硬件与软件的桥梁&#xff0c;其重要性不言而喻。随着5G、物联网、人工智能(AI)等技术的飞速发展&#xff0c;我们正步入一个万物皆可互联的时代。在这个背景下&#xff0c;华为推出的鸿蒙系统(HarmonyOS)应运而生&#xff0c…

【C语言习题】41.序列中删除指定数字

文章目录 题目代码 题目 代码 #include<stdio.h> int main() {int i,j;int n;int arr_1[100];int arr_2[100];int del;scanf("%d",&n);for(i0;i<n;i){scanf("%d",&arr_1[i]);}scanf("%d",&del);for(i0,j0;i<n;i){if(de…

【Linux】进程信号 --- 信号产生

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指点一二 如果文章对…

【安全】系统安全设计规范(DOC完整版)

1.1安全建设原则 1.2 安全管理体系 1.3 安全管理规范 1.4 数据安全保障措施 1.4.1 数据库安全保障 1.4.2 操作系统安全保障 1.4.3 病毒防治 1.5安全保障措施 1.5.1实名认证保障 1.5.2 接口安全保障 1.5.3 加密传输保障 1.5.4终端安全保障 软件资料清单列表部分文档&…

旅游数据可视化:免费工具让复杂数据变得简单易懂

随着旅游业的蓬勃发展&#xff0c;海量的数据如同繁星点点&#xff0c;记录着每一位旅者的足迹与偏好。然而&#xff0c;如何将这些复杂的数据转化为直观、易懂的信息&#xff0c;为旅游企业精准决策、为消费者提供更加个性化的服务&#xff0c;成为了行业内外共同关注的焦点。…

Maven学习—如何在IDEA中配置Maven?又如何创建Maven工程?(详细攻略)

目录 前言 1.在IDEA中配置Maven 2.创建Maven项目 &#xff08;1&#xff09;Maven&#xff1a;创建普通Maven工程 &#xff08;2&#xff09;Maven Archetype&#xff1a;创建Maven模板工程 前言 本篇博客将详细的介绍在IDEA中如何配置Maven&#xff0c;以及如何创建一个Ma…

HMI 7寸 带壳 linux 系统的移植

问题&#xff1a; 目前的源码中 只有 android 的config 文件&#xff0c;需要再移植一个 Linux 的config 文件。 过程&#xff1a; 1 首先是可以正常启动。 首先将 4418 的config 文件拷贝到 HMI的源码中&#xff0c;编译一遍看看能不能正常编译正常启动。 cp xxxx .confi…

uniapp实现微信一键登录按钮样式,如何开发胶囊按钮的样式

效果图&#xff1a; 关键点&#xff1a;让圆角的值变成高度的一半。 核心样式&#xff1a; .content .btn{width: 600rpx;border-radius: 300rpx;background-color: rgb(62,204,97);color: white;font-weight: 500;}完整代码&#xff1a; <template><view class&q…

神经网络参数初始化的常见方法

参数初始化 bias偏置&#xff1a;直接初始化为0 weight权重&#xff1a; 随机初始化 在高斯分布的数据中随机采样 标准初始化 在均匀分布的随机数中采样 Xavier初始化 该方法的基本思想是各层的激活值和梯度的方差在传播过程中保持一致&#xff0c;也叫做Glorot初始化。 正态…

防火墙-NAT策略和智能选路

一、背景技术 在日常网络环境&#xff0c;内部网络想要访问外网无法直接进行通信&#xff0c;这时候就需要进行NAT地址转换&#xff0c;而在防火墙上配置NAT和路由器上有点小区别&#xff0c;思路基本一致&#xff0c;这次主要就以防火防火墙配置NAT策略为例&#xff0c;防火墙…

微信小程序新建项目发现导航条不见了,及如何找回。

原因是现在小程序新建用的是 Skyline 渲染引擎 开启全局Skyline渲染引擎&#xff0c;因为Skyline不支持原生导航栏&#xff0c;所以就没显示原生导航栏了。 解决方法也很简单 app.json文件中的 “renderer”: “skyline”, 修改为 “renderer”:“webview”app.json文件中的…

爬虫代理访问超时怎么解决?

一、为什么会出现访问超时 爬虫使用代理可能会遇到访问超时的情况&#xff0c;主要和以下几个方面有关&#xff1a; 1.代理服务器性能&#xff1a; 代理服务器作为中间层&#xff0c;承担着转发请求和响应的任务。如果代理服务器性能不佳或超载&#xff0c;请求的响应时间可能…

Docker容器——初识Docker,安装以及了解操作命令

一、Docker是什么? 是一个开源的应用容器引擎&#xff0c;基于go语言开发并遵循了apache2.0协议开源&#xff0c;用来管理容器和镜像的工具是在Linux容器里驱动运行应用的开源工具是一种轻量级的“虚拟机” 基于linux内核运行Docker的容器技术可以在一台主机上轻松为任何应用…

QT官方modbus_slave例子嵌入到界面

1.打开QT官方modbus_slave的例子 根据提示略微配置一下编译选项&#xff0c;就可以正常运行。 2.新将一个项目包含这个例子 这个例子非常简单&#xff0c;就是在默认的mainwindow上给个按钮&#xff0c;点击按钮调用这个例子的界面。 3.修改*.pro文件 serialport serialbus …

E: Unable to locate package google-chrome-stable_current_amd64.deb

意思是我无法定位到google-chrome-stable_current_amd64.deb 我提前下载好了文件 我执行的命令为: apt install google-chrome-stable_current_amd64.deb 这个是先定位网络资源&#xff0c;然后现在安装。我是已经下载好了。 所以执行一下命令: apt install ./google-chro…

智能家居安卓程序设计(二)

一 UI设计 主界面布局文件 设备界面 程序既支持语音输入也支持屏幕点击&#xff0c; 可以对着该程序 发出语音指令&#xff0c;如 打开电视&#xff0c;调节音量&#xff0c;调节频道等。 二、系统架构 硬件层 传感器&#xff1a;温度传感器、湿度传感器、光传感器、运动传感器…

智能听诊器:宠物健康监测的革新者

宠物健康护理领域迎来了一项激动人心的技术革新——智能听诊器。这款创新设备以其卓越的精确度和用户友好的操作&#xff0c;为宠物主人提供了一种全新的健康监测方法。 使用智能听诊器时&#xff0c;只需将其放置在宠物身上&#xff0c;它便能立即捕捉到宠物胸腔的微小振动。…

【Linux】软件管理工具 yum

文章目录 概念搜索yum list keywordyum list | grep keywordyum search keyword 安装&#xff1a;yum install卸载&#xff1a;yum remove列出所有软件包&#xff1a;yum list列出可更新的软件包&#xff1a;yum list updates列出已安装的软件包&#xff1a;yum list installed…

使用ant+jmeter如何生成html报告

一、安装ant 下载apache-ant&#xff0c;放到对应路径下&#xff0c;然后进行环境变量配置。系统变量的CLASSPATH添加E:\Installation Pack\eclipse\apache-ant-1.9.6\lib;用户变量的PATH添加&#xff1a;E:\Installation Pack\eclipse\apache-ant-1.9.6\bin。打开cmd&#xf…

鸿蒙特色物联网实训室

一、 引言 在当今这个万物皆可连网的时代&#xff0c;物联网&#xff08;IoT&#xff09;正以前所未有的速度改变着我们的生活和工作方式。它如同一座桥梁&#xff0c;将实体世界与虚拟空间紧密相连&#xff0c;让数据成为驱动决策和创新的关键力量。随着物联网技术的不断成熟…