当前位置: 首页 > news >正文

2023牛客暑期多校训练营3(题解)

今天下午也是小小的做了一下,OI,也是感觉手感火热啊,之前无意间看到的那个哥德巴赫定理今天就用到了,我以为根本用不到的,当时也只是感兴趣看了一眼,还是比较激动啊

话不多说,直接开始看题

World Fragments I

 题意:就是说给你两个二进制的数,然后有一个变化规则,就是从x中选择一位数(其实也就是选择1)然后x可以选择减去或者加上这个数,然后问你最少多少次可以让x变成y,如果不可能变成则输出-1

思路:这题是个签到题,但是我当时以为不能存在-1,导致错了两发

首先什么时候是-1呢?就是x为0,但是y不为0,因此没法从x中选出1,导致没法产生变化,因此输出-1

但是对于别的情况直接输出x和y的差值的绝对值即可

#include<bits/stdc++.h>  
using namespace std;  
#define int long long  
string x;  
string y;  
signed main() 
{  cin >> x >> y;  reverse(x.begin(), x.end());  reverse(y.begin(), y.end());  int sum1 = 0, sum2 = 0;  for (int i = 0; i < x.length(); i++) {  if (x[i] == '1') {  sum1 += (1LL << i);  }  }  for (int i = 0; i < y.length(); i++) {  if (y[i] == '1') {  sum2 += (1LL << i);  }  }  if(sum1==0&&sum2!=0)cout<<"-1\n";elsecout << abs(sum1 - sum2)<<"\n";  return 0;  
}

Until the Blue Moon Rises

 题意:就是说给你n个数,然后每两个数之间都可以自行一个加一,一个减一,然后问你最后能否让这n个数都变成素数,如果可以输出YES,不行就是NO

思路:这题其实才是我第一个做出来的因为是英文提面,所以我这个英语贵物只能先看题目比较短的进行翻译了,思路就是强哥德巴赫定理——任意一个大于2的偶数都可以拆分成两个质数的和

我们因此分三种情况

1.只有一个数,我们只需要判断那一个数是否是质数,如果是则是yes,否则是no

2.有两个数,我们需要所有数的和sum是奇数还是偶数,如果是偶数,那么根据强哥德巴赫定理来说,一定可以拆分成功,为yes,如果是奇数,那么一定是一个偶数一个奇数,偶数只有2是质数,如果sum-2也是质数,那么就说明是yes,否则是no

3.大于等于三个数,如果sum>=2*n那么就是yes,最小的质数就是n个2的情况,根据若哥德巴赫定理就可以推出来 任何一个大于7的奇数都能被表示成三个奇质数的和。(一个质数可以被多次使用)

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n;
int a[200005];
int sum=0;
signed main()
{cin>>n;for(int i=1;i<=n;i++){cin>>a[i];sum+=a[i];}if(n==1){if(a[1]==1){cout<<"NO\n";return 0;}for(int i=2;i<=sqrt(a[1]);i++){if(a[1]%i==0){cout<<"NO\n";return 0;}}cout<<"YES\n";}else if(n==2){if(sum%2==0){if(sum>2){cout<<"YES\n";return 0 ;}else{cout<<"NO\n";return 0 ;}}else{int q=sum-2;if(q==1){cout<<"NO\n";return 0;}for(int i=2;i<=sqrt(q);i++){if(q%i==0){cout<<"NO\n";return 0;}}cout<<"YES\n";}}else{if(sum>=2*n)cout<<"YES\n";elsecout<<"NO\n";}return 0;
}

Ama no Jaku

题意:是说让所有的第i行的最小值大于 第i列的最大值

思路:仔细分析一下就会发现我只要让整个矩阵都变成一个数就可以完成这项操作了,因此我们再细推会发现,如果第一位相同的话,那么后面每一个数都相同,第一位不同的话,后续每一位都不同,然后去计算最小改变次数即可

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n;
char s[2005][2005];
int cnth,cntl;
signed main()
{cin>>n;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){cin>>s[i][j];}}for(int i=2;i<=n;i++){if(s[i][1]==s[1][1]){for(int j=2;j<=n;j++){if(s[i][j]!=s[1][j]){cout<<"-1\n";return 0;}}}else{cnth++;for(int j=2;j<=n;j++){if(s[i][j]==s[1][j]){cout<<"-1\n";return 0;}}}}for(int i=2;i<=n;i++){if(s[1][i]!=s[1][1]){cntl++;}}cout<<min(cnth,n-cnth)+min(cntl,n-cntl)<<"\n";return 0;
}

Koraidon, Miraidon and DFS Shortest Path

 

题意:就是说用dfs去实现bfs的思路去找到单源最短路径

思路:深搜跑一遍,看看到了同一个点是否会出现不同的值,如果存在不同那就是no否则就是yes

#include<bits/stdc++.h>
using namespace std;
int t;
int n,m;
int d[500005];
int u,v;
bool flag,vis[500005];
vector<int> e[500005];
void dfs(int v)
{if(!flag) return;vis[v]=true;for (auto u:e[v]){if (vis[u])continue;if (!d[u])d[u]=d[v]+1;else if(d[u]!=d[v]+1)flag=false;dfs(u); }vis[v]=false;
}
void solve()
{flag=true;for (int i=1;i<=n;i++){e[i].clear();vis[i]=false;d[i]=0;}cin>>n>>m;for(int i=1;i<=m;i++){cin>>u>>v;e[u].push_back(v);}dfs(1);cout<<(flag?"Yes":"No")<<endl;
}
signed main()
{int t;cin >> t;while(t--) solve();return 0;
}

 

相关文章:

2023牛客暑期多校训练营3(题解)

今天下午也是小小的做了一下&#xff0c;OI&#xff0c;也是感觉手感火热啊&#xff0c;之前无意间看到的那个哥德巴赫定理今天就用到了&#xff0c;我以为根本用不到的&#xff0c;当时也只是感兴趣看了一眼&#xff0c;还是比较激动啊 话不多说&#xff0c;直接开始看题 Wo…...

Magnum IO

NVIDIA Magnum IO 文章目录 前言加速数据中心 IO 性能,随时随地助力 AINVIDIA Magnum IO 优化堆栈1. 存储 IO2. 网络 IO3. 网内计算4. IO 管理跨数据中心应用加速 IO1. 数据分析Magnum IO 库和数据分析工具2. 高性能计算Magnum IO 库和 HPC 应用3. 深度学习Magnum IO 库和深度…...

Flink job的提交流程

在Flink中&#xff0c;作业&#xff08;Job&#xff09;的提交流程是一个复杂的过程&#xff0c;涉及多个组件和模块&#xff0c;包括作业的编译、优化、序列化、任务分发、任务调度、资源分配等。Flink通过分布式架构来管理作业的生命周期&#xff0c;确保作业在不同节点上以高…...

git操作pull的时候出现冲突怎么解决

问&#xff1a; PS C:\Users\fury_123\Desktop\consumptionforecast> git branch * dev main PS C:\Users\fury_123\Desktop\consumptionforecast> git add . PS C:\Users\fury_123\Desktop\consumptionforecast> git commit -m 修改部分样式 [dev 74693e0] 修改部分样…...

Sentinel 1.80(CVE-2021-44139)

Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性 Report a Sentinel Security Vulnerability …...

黑马程序员C++提高编程学习笔记

黑马程序员C提高编程 提高阶段主要针对泛型编程和STL技术 文章目录 黑马程序员C提高编程一、模板1.1 函数模板1.1.1 函数模板基础知识 案例一&#xff1a; 数组排序1.2.1 普通函数与函数模板1.2.2 函数模板的局限性 1.2 类模板1.2.1 类模板的基础知识1.2.2 类模板与函数模板1.…...

力扣第1题:两数之和(图解版)

Golang版本 func twoSum(nums []int, target int) []int {m : make(map[int]int)for i : range nums {if _, ok : m[target - nums[i]]; ok {return []int{i, m[target - nums[i]]}} m[nums[i]] i}return nil }...

aws(学习笔记第三课) AWS CloudFormation

aws(学习笔记第三课) 使用AWS CloudFormation 学习内容&#xff1a; AWS CloudFormation的模板解析使用AWS CloudFormation启动ec2 server 1. AWS CloudFormation 的模版解析 CloudFormation模板结构 CloudFormation是AWS的配置管理工具&#xff0c;属于Infrastructure as Co…...

浅学React和JSX

往期推荐 一文搞懂大数据流式计算引擎Flink【万字详解&#xff0c;史上最全】-CSDN博客 数仓架构&#xff1a;离线数仓、实时数仓Lambda和Kappa、湖仓一体数据湖-CSDN博客 一文入门大数据准流式计算引擎Spark【万字详解&#xff0c;全网最新】_大数据 spark-CSDN博客 浅谈维度建…...

React 为什么 “虚拟 DOM 顶部有很多 provider“?

1、介绍React中的Context Provider 在 React 中&#xff0c;虚拟 DOM&#xff08;Virtual DOM&#xff09;是 React 用来高效更新 UI 的核心机制&#xff0c;它通过对比前后两次虚拟 DOM 树&#xff0c;确定哪些部分需要更新&#xff0c;以减少直接操作真实 DOM 的开销。而 “…...

忘记了 MySQL 8.0 的 root 密码,应该怎么办?

如果你忘记了 MySQL 8.0 的 root 密码&#xff0c;可以通过以下步骤来重置密码。请注意&#xff0c;这些步骤需要你有对 MySQL 服务器的物理或命令行访问权限。 步骤 1: 停止 MySQL 服务 首先&#xff0c;你需要停止正在运行的 MySQL 服务。你可以使用以下命令来停止 MySQL 服…...

Promise.reject()

Promise.reject() 静态方法返回一个已拒绝&#xff08;rejected&#xff09;的 Promise 对象&#xff0c;拒绝原因为给定的参数。 语法 Promise.reject(reason)参数 reason 该 Promise 对象被拒绝的原因。 返回值 返回一个已拒绝&#xff08;rejected&#xff09;的 Promi…...

大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…...

云手机与传统手机的区别是什么?

随着科技的快速进步&#xff0c;云手机逐渐成为手机市场的热门选择。与传统的智能手机相比&#xff0c;云手机具有许多独特的功能和优势&#xff0c;尤其在多账号管理和高效操作方面备受关注。那么&#xff0c;云手机究竟与普通手机有哪些区别呢&#xff1f; 1. 更灵活的操作与…...

微知-Bluefield DPU命名规则各字段作用?BF2 BF3全系列命名大全

文章目录 背景字段命名C是bmc的意思NOT的N是是否加密S表示不加密但是secureboot enable倒数第四个都是E倒数第五个是速率 V和H是200GM表示E serials&#xff0c;H表示P serials&#xff08;区别参考兄弟篇&#xff1a;[more](https://blog.csdn.net/essencelite/article/detail…...

Ubuntu 上使用 Nginx 实现反向代理并启用 HTTPS(详细教程)

拒绝使用宝塔&#xff0c;虽然宝塔很好用方便&#xff0c;但是他非常占用资源&#xff0c;所以我正在尝试转换我使用服务器的方式&#xff0c;通过命令来才做这些&#xff0c;下面是我的详细步骤。 在这篇教程中&#xff0c;我们将详细介绍如何在 Ubuntu 系统上使用 Nginx 搭建…...

2. 继承Mono的单例模式基类

前提 继承MonoBehaviour的脚本不能new继承MonoBehaviour的脚本一定得依附在GameObject上 实现挂载式的单例模式基类 挂载式 继承Mono的单例模式基类 /// <summary> /// 挂载式 继承Mono的单例模式基类 /// </summary> /// <typeparam name"T">&…...

数据治理:制造企业转型的关键要素与战略需求

制造业&#xff0c;作为国民经济的主体&#xff0c;是立国之本、兴国之器、强国之基。从工业文明的曙光初现&#xff0c;到今日全球化的激烈竞争&#xff0c;始终昭示着一个真理&#xff1a;没有强大的制造业&#xff0c;就没有国家和民族的强盛。 为全面推进制造强国建设&…...

FastAPI 基本路由

FastAPI 基本路由 FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,与 Python 3.6+ 类型提示一起使用。在本文中,我们将探讨 FastAPI 的基本路由概念,包括如何定义路由、处理请求和响应,以及一些高级特性。 什么是路由? 在 Web 框架中,路由是指将传入的…...

Python库matplotlib之六

Python库matplotlib之六 动画FuncAnimation构造器成员函数应用例子 动画 Matplotlib基于其绘图功能&#xff0c;还提供了一个使用动画模块&#xff0c;生成动画的接口。动画是一系列帧&#xff0c;其中每个帧对应于图形上的一个图。 Matplotlib使用两个类来实现动画&#xff…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例&#xff0c;Webpack.config.js它可能的配置和含义如下&#xff1a; 前言 Module Federation 的Webpack.config.js核心配置包括&#xff1a; name filename&#xff08;定义应用标识&#xff09; remotes&#xff08;引用远程模块&#xff0…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理

在城市的某个角落&#xff0c;一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延&#xff0c;滚滚浓烟弥漫开来&#xff0c;周围群众的生命财产安全受到严重威胁。就在这千钧一发之际&#xff0c;消防救援队伍迅速行动&#xff0c;而豪越科技消防一体化安全管控平台构建的消防“…...