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

🌏博客主页: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.mzph.cn/news/625452.shtml

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

相关文章

STM32F103标准外设库——寄存器 (二)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;V…

LeetCode刷题---逆波兰表达式求值

解题思路&#xff1a; 使用栈来解决该问题 首先定义一个栈Stack&#xff0c;接着对tokens数组进行遍历&#xff0c;如果当前元素是非数字字符串的话(运算符)&#xff0c;就从栈中取出两个元素根据该运算符进行计算&#xff0c;将计算后的结果添加到栈中。如果当前元素是数字字符…

基于Spring Boot+vue的云上新鲜水果超市商城系统

本云上水果超市是为了提高用户查阅信息的效率和管理人员管理信息的工作效率&#xff0c;可以快速存储大量数据&#xff0c;还有信息检索功能&#xff0c;这大大的满足了用户、员工信息和管理员这三者的需求。操作简单易懂&#xff0c;合理分析各个模块的功能&#xff0c;尽可能…

【翻译】Qt Designer 如何使用资源文件

原文地址&#xff1a;https://doc.qt.io/qt-6/designer-resources.html Qt的资源浏览器是用于管理应用程序资源的工具&#xff0c;可以让开发者方便地查看和管理应用程序中的各种资源文件&#xff0c;例如图像、字体、布局文件、对话框等。 资源浏览器提供了一个可视化的界面&…

《LIO-SAM阅读笔记》-为何要引入增量式里程计?

前言&#xff1a; LIO-SAM在后端中同时维护着两个里程计&#xff0c;一个是增量式里程计&#xff0c;一个是优化后的里程计&#xff0c;其中优化后的里程计是经过imu、回环、gps因子图联合优化后的结果&#xff0c;是整个系统中最准确的位姿估计&#xff0c;那么为什么还需要维…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用短曝光功能(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用短曝光功能&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机NEOAPI SDK和短曝光功能的技术背景Baumer工业相机通过NEOAPI SDK使用短曝光功能1.引用合适的类文件2.通过NEOAPI SDK使用短曝光功能3.通过NEOAPI SDK关闭短…

【Golang】二进制字符串转换为数字

在本文中&#xff0c;我们将探讨如何使用 Go 语言将十六进制字符串转换为二进制字符串&#xff0c;将不定长整型补码字符串转换为数字&#xff0c;以及如何将 IEEE754 标准的单精度&#xff08;32位&#xff09;和双精度&#xff08;64位&#xff09;浮点数字符串转换为数字。最…

python案例单进程与多进程,传参

1.单进程 import timedef run1():print(我是run函数)# 当前代码阻塞在这了 卡在这了time.sleep(1000)def run2():print(我是run函数)# 当前代码阻塞在这了 卡在这了time.sleep(1000) run1() run2() print(我是下面的代码) 2.多进程 import time from multiprocessing impo…

商业世界,从2023到2024

作者&#xff5c;潮汐商业评论 编辑&#xff5c;Ray 变化总在发生&#xff0c;你不去迎接进步的变化&#xff0c;就会等到退步的变化。 —— 查理.芒格 2023, 我们似乎总在不断告别。从“一生自由”的大家黄永玉到“智慧”投资家查理.芒格&#xff0c;再到写出《不能承受的生命…

历史更新记录 - DarkVoxel Wiki

V2.0.1.7 正在开发中 按Home键返回顶部&#xff0c;按End键跳转至底部 [首页] V2.0.1.6 1.添加了实体&#xff1a;火箭弹I、火箭弹II、火箭弹III、火箭弹IV、丛林史莱姆、丛林僵尸、冰雪史莱姆 2.添加了物品: 火箭炮、火箭弹I、火箭弹II、火箭弹III、火箭弹IV、沙岩、沙漠化石、…

Zung氏抑郁自评量表SDS

抑郁症是常见的心理障碍&#xff0c;其症状表现为&#xff1a;心境低落、思维迟缓、意志活动减退、认知功能损害、躯体症状等。在生活中常有悲观消沉&#xff0c;灰心丧气&#xff0c;对所有事情都提不起兴趣&#xff0c;严重的还会出现肢体僵硬和耳鸣等症状。 部分人有明显的…

生成对抗网络GAN简介- 图像处理应用

GAN是一种由两部分组成的神经网络架构&#xff0c;通常用于生成逼真的图像。这两部分是生成器&#xff08;Generator&#xff09;和判别器&#xff08;Discriminator&#xff09;。 生成器&#xff08;Generator&#xff09;&#xff1a;它的目标是创建逼真的图像。这些图像是从…

10分钟快速上手LLM大模型Python前端开发(三)之显示模块(一)

10分钟快速上手LLM大模型Python前端开发&#xff08;三&#xff09;之显示模块&#xff08;一&#xff09; 显示代码初步测试 通用显示方法显示字符串显示dataframe显示Markdown 微信公众号&#xff1a;leetcode_algos_life&#xff0c;代码随想随记 小红书&#xff1a;4124081…

Linux网络文件共享服务

目录 一.文件存储类型 1.直连式存储&#xff1a;Direct-Attached Storage&#xff0c;简称DAS 2.存储区域网络&#xff1a;Storage Area Network&#xff0c;简称SAN&#xff08;可以使用空间&#xff0c;管理也是你来管理&#xff09; 3.网络附加存储&#xff1a;Network-…

运筹说 第67期 | 动态规划模型的建立与求解

通过前一期的学习&#xff0c;我们已经学会了动态规划的基本概念和基本原理。本期小编带大家学习动态规划模型的建立与求解。 动态规划模型的建立 一 概述 建立动态规划的模型&#xff0c;就是分析问题并建立问题的动态规划基本方程。 成功地应用动态规划方法的关键&#x…

Laravel 框架中队列的使用

概述 Laravel 框架内置了强大的队列系统&#xff0c;用于处理异步任务、提高系统性能等。队列可以让任务异步执行&#xff0c;而不会阻塞当前进程&#xff0c;可以提高系统的处理能力。 Laravel 的队列系统支持多种驱动&#xff0c;如 Redis、Beanstalkd、SQS 等&#xff0c;…

备案(三)

首次备案需要多少天 备案初审&#xff1a;您提交初审后&#xff0c;天翼云会在一个工作日内进行审核&#xff0c;并通过短信和邮件形式通知审核结果。 管局审核&#xff1a;各地通管局审核时间不同&#xff0c;一般为1到20个工作日&#xff0c;审核结果将以短信和邮件形式通知…

(Java企业 / 公司项目)JMeter接口压测使用(保姆式手把手教会)

一. JMeter简介认识&#xff08;重点是下面的使用方法&#xff09; JMeter是一个开源的Java应用程序&#xff0c;由Apache软件基金会开发和维护&#xff0c;可用于性能测试、压力测试、接口测试等。 1. 原理 JMeter的基本原理是模拟多用户并发访问应用程序&#xff0c;通过发…

Stable Diffusion 提示词解析|AI绘画

概述 玩了很久的SD&#xff0c;感觉已经没有一开始的激情了&#xff0c;最近有幸看到了几篇关于提示词的指导文章&#xff0c;突然感觉又发现了新大陆&#xff0c;整理后供大家一起学习。 好的提示词应该包含如下几个模块&#xff1a; Anatomy of a good prompt解析好的提示…

C++中的符号->

在C中&#xff0c;符号“->”用于访问指向对象的指针的成员。它也被称为箭头运算符或取消引用运算符。 使用“->”符号的基本语法是&#xff1a; 对象指针->成员名称 这里&#xff0c;object_pointer是指向对象的指针&#xff0c;member_name是属于该对象的成员变量…