牛客小白月赛89(A~C)

小白赛怎么这么难打,是什么小白,我的世界小白吗

A. 伊甸之花

给你一个数组 a,问你是否找出一个 不等于 a 的数组 b,满足

其中数值都要在 [1,m] 的范围内

直接在 a 数组上修改,可以发现如果改了 a[1],a[2],那么 a[3] 也要一起修改,所以考虑两个极限情况,一个是全体加一,还有一个是全体减一。

#include <bits/stdc++.h>
//#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define debug(a) cout<<#a<<"="<<a<<endl
#define all(x) x.begin(),x.end()
#define EX exit(0)
#define fr first
#define se second
#define endl '\n'
using namespace std;
using ll=long long;void solve(){int n,m;cin>>n>>m;int a[n+1];per(i,1,n)cin>>a[i];per(i,1,n)a[i]++;per(i,1,n){if(a[i]>m){per(j,1,n)a[j]-=2;per(j,1,n){if(a[j]<1){cout<<"No"<<endl;return;}}}}cout<<"Yes"<<endl;
}signed main(){ios::sync_with_stdio(false),cin.tie(nullptr);int t=1;while(t--)solve();return 0;
}

B. 显生之宙

如果是负数,我们希望所有数都加上他,这样最终最小值才会尽可能小。

如果是正数,那么留到最后求和。

考虑先排序,然后如果第一个是负数,就以差分的形式把值保留下来,然后求和。

#include <bits/stdc++.h>
#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define debug(a) cout<<#a<<"="<<a<<endl
#define all(x) x.begin(),x.end()
#define EX exit(0)
#define fr first
#define se second
#define endl '\n'
using namespace std;
using ll=long long;void solve(){int n,sum=0;cin>>n;int a[n+1];per(i,1,n)cin>>a[i],sum+=a[i];sort(a+1,a+1+n);if(a[1]>=0){cout<<sum<<endl;}else{int res=a[1],ans=0;per(i,2,n){a[i]+=res;if(a[i]<0)res+=a[i];//如果一直都小于0,那么最后答案就是差分的累计a[n]else ans+=a[i];//如果加了累计的负数还大于0,那么后面都是正数,最终答案为ans}if(ans)cout<<ans<<endl;else cout<<a[n]<<endl;}}signed main(){ios::sync_with_stdio(false),cin.tie(nullptr);int t=1;cin>>t;while(t--)solve();return 0;
}

C. 太阳之华

每次可以选择一个红色连通块向外感染(注意不是所有红色块)。

观察题目所给的数据范围

最差情况感染一次的复杂度是n*m,2e6,一共有100组数据点,总计2e8复杂度,即这题最多进行10次及以下的搜索次数,因此我们向博弈论的方向考虑。

红方先手,然后来回执行。

假设蓝方执行之后,红方再执行可以覆盖所有蓝色,显然不管在中间还是四个角落,只要有一个蓝色块往外延伸一次,就会平局,那么得出结论:

红方必须在一次操作之后覆盖所有蓝色块,否则就是平局。

#include <bits/stdc++.h>
//#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define debug(a) cout<<#a<<"="<<a<<endl
#define all(x) x.begin(),x.end()
#define EX exit(0)
#define fr first
#define se second
#define endl '\n'
using namespace std;
using ll=long long;
const int N=2e3+5;int n,m;
string s[N],news[N];bool isok(int x,int y){return x>=1 and x<=n and y>=0 and y<=m-1;
}int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};bool vis[N][N];void dfs(int x,int y){if(vis[x][y])return;vis[x][y]=true;per(i,0,3){int nx=dx[i]+x,ny=dy[i]+y;if(isok(nx,ny) and !vis[nx][ny] and s[nx][ny]=='#')dfs(nx,ny);else if(isok(nx,ny) and s[nx][ny]=='.')news[nx][ny]='#';}
}bool redGo(){per(i,1,n){per(j,0,m-1){//遍历所有的红色连通块,是否能从其中一个使得蓝色全部被覆盖if(s[i][j]=='#' and !vis[i][j]){per(k,1,n)news[k]=s[k];dfs(i,j);int blue=0;per(k,1,n){per(l,0,m-1){blue+=news[k][l]=='.';}}if(blue==0)return true;}}}return false;
}void solve(){cin>>n>>m;//#先手per(i,1,n)cin>>s[i];int red=0;per(i,1,n){per(j,0,m-1){red+=s[i][j]=='#';}}if(red==0){//特判初始状态cout<<"Blue"<<endl;return;}else if(red==n*m){cout<<"Red"<<endl;return;}per(i,1,n){//多组测试点初始化per(j,0,m-1)vis[i][j]=false;}if(redGo()){cout<<"Red"<<endl;return;}cout<<"Draw"<<endl;
}signed main(){ios::sync_with_stdio(false),cin.tie(nullptr);int t=1;cin>>t;while(t--)solve();return 0;
}

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

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

相关文章

HTML(一)---【基础】

零.前言&#xff1a; 本文章对于HTML的基础知识处理的十分细节&#xff0c;适合从头学习的初学者&#xff0c;亦或是想要提升基础的前端工程师。 1.什么是HTML&#xff1f; HTML是&#xff1a;“超文本标签语言”&#xff08;Hyper Text Markup Language&#xff09; HTML不…

《Django项目》day4 -- 部署nginx与对接acapp

文章目录 1.增加容器的映射端口&#xff1a;80&#xff08;http&#xff09;与443&#xff08;https&#xff09;2.创建AcApp&#xff0c;获取域名、nginx配置文件及https证书3.修改django项目的配置4.配置uwsgi 1.增加容器的映射端口&#xff1a;80&#xff08;http&#xff0…

SQL109 纠错4(组合查询,order by..)

SELECT cust_name, cust_contact, cust_email FROM Customers WHERE cust_state MI UNION SELECT cust_name, cust_contact, cust_email FROM Customers WHERE cust_state IL ORDER BY cust_name;order by子句&#xff0c;必须位于最后一条select语句之后

【AI模型-机器学习工具部署】远程服务器配置Jupyter notebook或jupyter lab服务

随着AI人工智能的崛起&#xff0c;机器学习、深度学习、模型训练等技术也慢慢泛化&#xff0c;java开发有idea&#xff0c;web开发有vscode&#xff0c;那么AI开发神器肯定离不开jupyter lab&#xff08;基础版jupyter notebook&#xff09; Jupyter notebook部署 1. 安装jupy…

FastAPI+React全栈开发06 使用MongoDB设置文档存储

Chapter02 Setting Up the Document Store with MongoDB 01 Summary FastAPIReact全栈开发06 使用MongoDB设置文档存储 In this chapter, we are going to address some of the main features of MongoDB, building upon what was mentioned in the introductory chapter, a…

类模板与继承及成员、全局函数的实现

一、类模板与继承 当类模板碰到继承时&#xff0c;需要注意一下几点&#xff1a; 1.当子类继承的父类是一个类模板时&#xff0c;子类在声明的时候&#xff0c;要指定出父类中T的类型 2.如果不指定&#xff0c;编译器无法给子类分配内存 3.如果想灵活指定出父类中T的类型&a…

在Jetson Nano上使用TensorRT来加速模型

NVIDIA Jetson Nano是一款小型的AI计算设备&#xff0c;专为边缘计算设计&#xff0c;适合运行机器学习和深度学习模型。TensorRT是NVIDIA的一个高性能深度学习推理&#xff08;Inference&#xff09;优化器和运行时库&#xff0c;可以用于加速深度学习模型的推理速度。 在Jet…

QT_day5:使用定时器实现闹钟

1、 程序代码&#xff1a; widget.h&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTime>//时间类 #include <QTimer>//时间事件类 #include <QTextToSpeech>//文本转语音类 QT_BEGIN_NAMESPACE namespace Ui { cla…

速盾:vue可以用cdn吗

Vue可以使用CDN&#xff08;Content Delivery Network&#xff09;来引入&#xff0c;这是一种分发网络&#xff0c;可以加速网站或应用的静态资源加载&#xff0c;从而提供更快的用户体验。在使用CDN之前&#xff0c;我们需要了解一些基本概念和步骤。 CDN是一个分布式系统&a…

2014年认证杯SPSSPRO杯数学建模C题(第一阶段)土地储备方案的风险评估全过程文档及程序

2014年认证杯SPSSPRO杯数学建模 C题 土地储备方案的风险评估 原题再现&#xff1a; 土地储备&#xff0c;是指市、县人民政府国土资源管理部门为实现调控土地市场、促进土地资源合理利用目标&#xff0c;依法取得土地&#xff0c;进行前期开发、储存以备供应土地的行为。土地…

【C语言】预处理编译链接调试技巧详解

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;C语言_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.预处理 1.1 预定义符号 1.2 #define 1.2.1 #define 定义标识符 1.2.2 #define 定义宏 1.2.3 #define 替换规则 1.2.4 #和## …

HTTPS 从懵懵懂懂到认知清晰、从深度理解到落地实操

Https 在现代互联网应用中&#xff0c;网上诈骗、垃圾邮件、数据泄露的现象时有发生。为了数据安全&#xff0c;我们都会选择采用https技术。甚至iOS开发调用接口的时候&#xff0c;必须是https接口&#xff0c;才能调用。现在有部分浏览器也开始强制要求网站必须使用https&am…

MySQL修改root用户的密码

在Windows上重置MySQL的root用户密码可以通过以下步骤进行&#xff1a; 停止MySQL服务&#xff1a;使用快捷键WINR打开运行窗口&#xff0c;输入cmd进入命令行。在命令行中输入net stop mysql来关闭MySQL服务。启动MySQL跳过授权表&#xff1a;将目录切换到MySQL安装目录下的b…

【MySQL】5.MySQL高级语句与sql语句

常用查询 对MySQL数据库的查询&#xff0c;除了基本的查询外&#xff0c;有时候需要对查询的结果集进行处理&#xff1b; 例如&#xff1a;只取10条数据、对查询结果进行排序或分组等 一、按关键字排序 ps&#xff1a;类比与windows任务管理器 使用select 语句可以将需要的…

谷粒商城——缓存——SpringCache

1. 配置使用 首先需要导入相关的依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency> 随后在配置文件中进行配置&#xff1a; spring:cache:t…

oracle补丁升级(19.3-19.22)

一、备份原来的opatch和数据库文件 这里要根据自己的路径&#xff1a; mv /u01/app/oracle/product/19.3.0/db_1/OPatch /u01/app/oracle/product/19.3.0/db_1/OPatch.bakcd /u01/app mkdir -p /u01/app/backup tar -pcvf /u01/app/backup/oracle_backup.tar /u01/app/oracle/…

nginx 同一个端口支持http和https配置

原理&#xff1a;使用nginx的stream、 stream_ssl_preread模块 由于stream和stream_ssl_preread模块非默认引入&#xff0c;需要在编译安装nginx时引入&#xff1b;编译时添加配置参数 --with-stream --with-stream_ssl_preread_module 1、编译nginx ./configure --prefix/usr…

git文件夹瘦身

git历史commit中可能包含一些build文件夹&#xff0c;想要删掉缩小git大小。主要参考&#xff1a; git: 如何减少.git文件的大小&#xff1f;_.git瘦身-CSDN博客 一、查看git中文件大小 # 查看.git中前十位大小的文件 &#xff08;hash值&#xff0c; 大小Byte&#xff09; …

使用llamafile 构建本地大模型运用

安装 https://github.com/Mozilla-Ocho/llamafile 下载 大模型文件&#xff0c;选择列表中任意一个 wget https://huggingface.co/jartine/llava-v1.5-7B-GGUF/resolve/main/llava-v1.5-7b-q4.llamafile?downloadtrue https://github.com/Mozilla-Ocho/llamafile?tabre…

智慧农业领航:数字乡村助力乡村振兴与可持续发展

目录 一、引言 二、智慧农业的内涵与特点 三、数字乡村助力乡村振兴的路径 1、提升农业生产效率 2、优化农业产业结构 3、促进乡村社会治理现代化 三、智慧农业在可持续发展中的作用 1、促进资源节约与环境保护 2、提升农产品质量与食品安全 3、推动乡村经济多元化发…