【闯关练习】—— 1400分(构造)

news2024/12/25 23:29:02

🌏博客主页:PH_modest的博客主页
🚩当前专栏:cf闯关练习
💌其他专栏:
🔴每日一题
🟡 C++跬步积累
🟢 C语言跬步积累
🌈座右铭:广积粮,缓称王!

一.关卡1(D. Epic Transformation)

👉传送门👈
在这里插入图片描述

1.Tutorial

  1. 统计每个数出现的次数,然后找到出现的最大次数maxx
  2. 然后通过模拟得出以下结论:(真的就是慢慢模拟找的
  • 如果maxx大于n/2,那么就说明这个数(x)可以和其他数全部消去,最后剩下的数一定是x,通过观察可以得出最后剩余的值满足以下结论:n-2*(n-maxx);
    在这里插入图片描述
    -如果maxx小于等于n/2,那么就需要分奇偶讨论,因为如果是偶数,最后剩余的两个相异的数能够抵消,如果是奇数就不可以;
    (1)偶数情况:只要我们优先将次数多的先结合,最后一定不会剩余数字,所以直接输出0,至于为什么大家可以下去模拟一下;(我也不会证明
    在这里插入图片描述

(2)奇数情况:奇数情况和偶数差不多,只不过最后一个数没办法消除,所以直接输出1

2.Solution

//https://codeforces.com/problemset/problem/1506/D
//结果和数量最多的那个数有关
//
#include<bits/stdc++.h>
#define int long long
using namespace std;

void solve()
{
    int n;
    cin>>n;
    map<int,int>mp;
    int maxx=0;
    for(int i=0;i<n;i++)
    {
    	int a;
    	cin>>a;
    	mp[a]++;
    	maxx=max(maxx,mp[a]);
	}
    if(maxx==n-maxx) cout<<"0\n";
    else if(maxx>n-maxx) cout<<maxx-(n-maxx)<<"\n";
    else
    {
    	if(n%2==0) cout<<"0\n";
    	else cout<<"1\n";
	}
}
signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin>>t;
	while(t--)
	{
		solve();
	}
	return 0;
}


3.Conclusion


二.关卡2

👉传送门👈
在这里插入图片描述

1.Tutorial

第一行从2开始递增,这样可以保证第一行的最大公约数是1,然后每一列的最大公约数就可以设置成第一行的数,之后的每行是由第一行乘上当前行数的最大公约数得到的,需要特别判断一下只有一列或者行和列都为1的情况,看起来比较抽象可以看下面的图;
在这里插入图片描述

2.Solution

//https://codeforces.com/problemset/problem/1266/C
//第一行从2开始递增,这样可以保证第一行的最大公约数是1,然后每一列的最大公约数就可以设置成第一行的数,之后的每行是由第一行乘上当前行数的最大公约数得到的,需要特别判断一下只有一列或者行和列都为1的情况
//
#include<bits/stdc++.h>
#define int long long
using namespace std;

int s[505][505];

void solve()
{
	int r,c;
	cin>>r>>c;
	if(r==1&&c==1)
	{
		cout<<"0\n";
		return;
	}
	if(c==1)
	{
		int tmp=2;
		for(int i=0;i<r;i++)
		{
			cout<<tmp<<"\n";
			tmp++;
		}
		cout<<"\n";
		return;
	}
	int flag=2;
	for(int i=0;i<c;i++)
	{
		s[0][i]=flag++;
	}
	for(int i=1;i<r;i++)
	{
		for(int j=0;j<c;j++)
		{
			s[i][j]=s[0][j]*flag;
		}
		flag++;
	}
	for(int i=0;i<r;i++)
	{
		for(int j=0;j<c;j++)
		{
			cout<<s[i][j]<<" ";
		}
		cout<<"\n";
	}
}
signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	solve();
	return 0;
}


3.Conclusion


最后:

闯关系列旨在养成刷题的习惯,所以对代码的解释并不会特别详细,但足够引导大家写出来,选的题目都不会特别难,但也不是特别简单,比较考验大家的基础和应用能力,我希望能够将这个系列一直写下去,也希望大家能够和我一起坚持每天写代码。

之后每个星期都会不定期更新codeforces和atcoder上的题目,想要学习算法的友友们千万别错过了,有什么疑问欢迎大家在评论区留言或者私信博主!

最近在全力突破瓶颈,更新的会比较慢,请见谅!

在这里送大家一句话:广积粮,缓称王!

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

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

相关文章

谁知道try里面放return,finally还会执行吗?

在前面几篇文章中&#xff0c;我们已经了解了关于执行上下文、作用域、闭包之间的关系。 今天&#xff0c;我们则要说一说更为细节的部分&#xff1a;语句。 语句是任何编程语言的基础结构&#xff0c;与 JavaScript 对象一样&#xff0c;JavaScript 语句同样具有“看起来很像…

孤儿进程与僵尸进程以及僵尸进程的解决

孤儿进程&#xff1a; 定义&#xff1a; 父进程运行结束&#xff0c;但子进程还在运行&#xff08;未运行结束&#xff09;&#xff0c;这样的子进程就称为孤儿进程&#xff08; Orphan Process &#xff09;。 过程&#xff1a; 每当出现一个孤儿进程的时候&#xff0c;内核就…

放空一下自我 free

文章目录 放空一下自我 free默认的效果使用易读的参数间隔显示内存状态查看meminfo文件更多信息 放空一下自我 free **free**这个命令在Linux系统监控的工具里面&#xff0c;算是使用的比较多的一个。 使用_man_查看可知&#xff0c;官方含义为&#xff1a; Display amount o…

Dockerfile: CMD与ENTRYPOINT区别

CMD和ENTRYPOINT的作用 CMD和ENTRYPOINT这两个命令&#xff0c;我接触到的是用在了Dockerfile中用于构建容器。 CMD&#xff1a;The main purpose of a CMD is to provide defaults for an executing container. CMD的主要用途是为正在执行的容器提供默认值。也就是指定这个容…

D课堂 | 为什么网站搭建好了却无法访问?(上)

在上一期D课堂中&#xff0c;D妹教大家如何用最简单的方法快速搭建一个网站&#xff0c;相信很多小伙伴已经跃跃欲试&#xff0c;尝试去搭建自己的网站。&#xff08;点击这里可以快速复习&#xff09; 然而&#xff0c;有不少人明明每个步骤都跟着做了&#xff0c;但最后在浏览…

企业销售获客难?分享一个精准筛查企业客户的技巧

作为企业销售经理&#xff0c;曾经一直让我们很头疼的问题之一就是获客困难。回想起以往&#xff0c;我们需要通过各种手段&#xff0c;手动查找电话名单、网络搜索到各种渠道&#xff0c;费尽心思的去筛查才能找到潜在客户。获客流程长还耗费很多的精力&#xff0c;拿到手的客…

【test】wsl2和win互ping

参考&#xff1a; https://zhuanlan.zhihu.com/p/365058237 https://blog.csdn.net/Cypher_X/article/details/123011200

RTKlib操作手册--使用样例数据演示

简介 RTKLIB&#xff08;Real-Time Kinematic Library&#xff09;是一款开源的实时差分全球导航卫星系统&#xff08;GNSS&#xff09;软件库。它旨在提供高精度的位置解算&#xff0c;特别是在实时应用中&#xff0c;如精密农业、测绘、无人机导航等领域。 RTKLIB支持多种G…

复杂经济时期下的企业财务规划战略

多重危机、通货膨胀、外汇波动和市场变化的交汇给经济世界带来了前所未有的挑战&#xff0c;这使得企业对预测精准度和及时性的需求大大增加。平衡营收增长与成本输出的稳定性、在不断变化的市场行为中抓住商机提高盈利能力是现阶段财务专业人士必须掌握的技能。情景规划与财务…

Ubuntu下,Flutter安装及在VScode中的配置

1、安装flutter 在自己指定的目录下&#xff0c;新建文件夹&#xff0c;并将源码git clone到本地 $ mkdir flutter $ cd flutter$ git clone -b master https://github.com/flutter/flutter.git2、给flutter添加环境变量 #编辑配置文件 $ vi ~/.bashrc #在末尾加入以下内容&…

分布式系统中的CAP原理

分布式系统中的CAP原理 本文已收录至我的个人网站&#xff1a;程序员波特&#xff0c;主要记录Java相关技术系列教程&#xff0c;共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源&#xff0c;让想要学习的你&#xff0c;不再迷茫。 简介 在分布式系统中&…

rtklib读取原始数据是一次读取了一个文件的全部数据

一般来说&#xff0c;rtklib读取观测值文件&#xff08;o文件&#xff09;和导航文件&#xff08;n文件&#xff09;进行解算。 读取文件的时候&#xff0c;并非一次读取一个历元&#xff0c;而是将一个文件所有历元的数据都读取完毕以后&#xff0c;再进行解算。 这看起来是…

Go 如何处理死锁以提供哪些工具来检测或防死锁?

并发是 Go 的核心特性&#xff0c;它使程序能够同时处理多个任务。它是现代编程的一个强大组件&#xff0c;如果使用正确&#xff0c;可以产生高效、高性能的应用程序。然而&#xff0c;并发性也带来了顺序编程中不存在的某些类型错误的可能性&#xff0c;其中最臭名昭著的是死…

一般大家怎么部署java项目,要不要部署在docker里?

关于是否应该将Java项目部署在Docker中的思考 传统方式&#xff1a;直接在服务器上运行jar包&#xff0c;依赖于服务器的环境配置&#xff0c;可能会遇到环境不一致的问题。 Docker方式&#xff1a;通过容器化&#xff0c;你的应用和所有依赖都封装在一个Docker镜像中。部署时…

Portal认证

目录 一、Portal认证概述 1、802.1X和Portal对比 2、Portal认证流程 &#xff08;1&#xff09;、portal认证基本流程 二、MAC认证 1、MAC认证需求 2、MAC认证概述 3、MAC旁路认证 一、Portal认证概述 1、802.1X和Portal对比 802.1X认证要求认证终端安装专门的软件 8…

高效工作法:占位图片生成工具助力项目快速迭代

在现代设计和开发项目中&#xff0c;图片资源的重要性不言而喻。然而&#xff0c;项目中经常会遇到寻找合适图片、调整图片尺寸和格式等问题&#xff0c;这些问题不仅耗时耗力&#xff0c;还可能影响到项目的进度和质量。此时&#xff0c;占位图片生成工具应运而生&#xff0c;…

检索增强生成RAG

文章目录 RAG解释混合检索重排序Rerank为什么需要RerankHNSW带来的随机性问题 当前大模型处理长输入的水平依然不够大模型如何处理长输入&#xff1f;重要信息位置为什么会影响大模型的效果LangChain的解决方案-检索后重新排序文档 召回模式N选1召回模式多路召回模式 摘要 在RA…

黑马苍穹外卖学习Day6

HttpClient 介绍 HttpClient 是 Apache 提供的一个开源的 Java HTTP 客户端库&#xff0c;用于发送 HTTP 请求和处理 HTTP 响应。它提供了一种更简便的方式来执行 HTTP 请求&#xff0c;并支持多种协议&#xff0c;如 HTTP、HTTPS、FTP 等。 使用 HttpClient 可以方便地与远程…

Linux网络服务部署yum仓库

目录 一、网络文件 1.1.存储类型 1.2.FTP 文件传输协议 1.3.传输模式 二、内网搭建yum仓库 一、网络文件 1.1.存储类型 直连式存储&#xff1a;Direct-Attached Storage&#xff0c;简称DAS 存储区域网络&#xff1a;Storage Area Network&#xff0c;简称SAN&#xff0…

多级缓存架构(五)缓存同步

文章目录 一、Canal服务1. mysql添加canal用户2. mysql配置文件3. canal配置文件 二、引入依赖三、监听Canal消息四、运行五、测试 通过本文章&#xff0c;可以完成多级缓存架构中的缓存同步。 一、Canal服务 1. mysql添加canal用户 连接在上一次multiCache项目中运行的mys…