牛客小白月赛77


题目描述

小Why有一个 2 行 2 列的方阵 A,每个格子上都有一个数字。

小Why可以执行以下的操作至多一次:

修改任意一个格子上的数字。

小Why想知道他能否使得这个方阵每行每列之和相等。

输入描述:

 

以下两行,每行两个元素,其中第 iii 行第 jjj 列的元素为 Ai,j​ (0≤Ai,j​≤9)。

输出描述:

如果小Why能够使得方阵 A 每行每列之和相等,那么输出 "YES" (不含引号),否则输出 "NO" (不含引号)。

示例1

输入

9 7
7 7

输出

YES

示例2

输入

1 2
3 4

输出

NO
#include<bits/stdc++.h>
using namespace std;
#define int long long 
#define fp(i,a,b) for(int i=a;i<=b;++i)
const int N=1e6+10;
typedef double db;
int a,b,c,d;
signed main()
{cin>>a>>b>>c>>d;int cnt=0;if(a==d)cnt++;if(b==c)cnt++;if(cnt>=1){cout<<"YES";}else{cout<<"NO";}return 0;
} //  a b c d   a+b=c+d=a+c=b+d   b=c a=d 

 B

题目描述

小Why有一个长度为 n 的全排列 a,定义px​ 表示元素 x 在 a 中的下标。

小Why先将上述 n 个元素映射为图 G 中的点,之后对于每个点 x ,都向 px​ 连一条边。在完成这些操作后,图 G 中一共出现了 m 个环(包括自环)。

现在小Why告诉你可以对 a 执行以下操作任意多次:

选择 a 中任意两个不同的元素,交换它们的位置。

小Why只打算告诉你 n 和 m,他想考考你至少需要多少次操作才能使得 a 单调递增。

输入描述:

第一行包含两个整数 n,m (1≤m≤n≤10^9),表示图 G 中点的个数和环的个数。

输出描述:

输出一个整数,表示最少操作次数。

示例1

输入

2 1

输出

1
#include<bits/stdc++.h>
using namespace std;
#define int long long 
#define fp(i,a,b) for(int i=a;i<=b;++i)
const int N=1e6+10;
typedef double db;
int n,m;
signed main()
{cin>>n>>m;cout<<n-m;return 0;
} //  a b c d   a+b=c+d=a+c=b+d   b=c a=d 

 

 C

超市里一共有 n 个货架,m 个商品,一开始商品的位置是被打乱的,小Why需要将商品全部归位。
小Why在给货架编号后,实现了每个商品所在货架必然在其应在货架之前。
小Why决定手推购物车按编号顺序依次访问每个货架。在访问货架时,小Why可以执行以下两个操作任意多次:
 当购物车不为空时,将购物车中的一个商品放上货架。
 当货架不为空时,将货架上的一个商品放入购物车。
当小Why跑完一趟后,如果仍有商品没被归位,那么小Why会再次返回 1 号货架重复以上过程。
超市里的购物车同一时刻最多能放 k 个商品,且每个货架容量无限,请你告诉小Why至少需要跑多少趟才能将商品全部归位。

输入描述:

 

第一行包括三个整数 n,m,k (2≤n≤10^6,1≤m,k≤10^6),表示货架个数,商品个数和购物车容量。

接下来 m 行,每行有两个整数 sti​,edi​(1≤sti​<edi​≤n),表示第 iii 个商品的所在货架和应在货架。

输出描述:

输出一个整数,表示最少需要的趟数。

示例1

输入

3 3 1
1 2
1 3
2 3

输出

2
#include<bits/stdc++.h>
using namespace std;
#define int long long 
#define fp(i,a,b) for(int i=a;i<=b;++i)
const int N=1e6+10;
typedef double db;
int n,m,k;
int a[N];
signed main()
{cin>>n>>m>>k;fp(i,1,m){int x,y;cin>>x>>y;a[x]++,a[y]--;}int mmax=0;fp(i,1,n){a[i]+=a[i-1];mmax=max(mmax,a[i]);}cout<<(mmax-1)/k+1;return 0;
} 

 思路:可以抽象为差分   

对于一个商品假设一开始在1,然后要去4

那么他在1-3这个区间就一定会占据一个购物车位置,因为在这期间不可能将它放下来

这样就可以直接通过差分来维护在商品的“占据情况”。

D

题目描述

小Why拿到了一个密码长度为 m 的密码锁,这个密码锁可输入内容无限,并只对最后输入的 m 位字符进行检测,检测正确时密码锁会解锁一次,同时清空包含检测正确字符串在内的之前的所有字符。

小Why输入了一个长度为 n 的字符串 s 后,密码锁一共解锁了 k 次,请你告诉他有多少种密码是可能正确的。

输入描述:

第一行包含三个整数 n,m,k (1≤m∗k≤n≤106),表示字符串 s 的长度,密码长度和解锁次数。第二行包含一个长度为 n 的字符串 s,保证字符串 s 中只含有 0∼9 的数字。

输出描述:

输出一个整数,表示有多少种密码是可能正确的。

示例1

输入

13 5 2
1231234123123

输出

2

 我复习了一波字符串哈希  这个算法我老早忘记了  以至于蓝桥杯差了这个就国三。哭死

字符串哈希模板:

#include<bits/stdc++.h>
using namespace std;
//#define int long long 
#define fp(i,a,b) for(int i=a;i<=b;++i)
const int N=1e6+10;
typedef double db;
typedef unsigned long long ULL;
int n,m;
int l1,r1,l2,r2;
const int pp=131;
ULL h[N];
ULL p[N];
string s;
ULL gets(int a,int b)
{return h[b]-h[a-1]*p[b-a+1];
}
int main()
{cin>>n>>m;cin>>s;s=" "+s;p[0]=1;for(int i=1;i<=n;i++){h[i]=h[i-1]*pp+s[i];p[i]=p[i-1]*pp;}for(int i=1;i<=m;i++){cin>>l1>>r1>>l2>>r2;if(gets(l1,r1)==gets(l2,r2)){cout<<"Yes"<<"\n";}else{cout<<"No"<<"\n";}}return 0;
} 

 

这道题也是字符串哈希  用map记录一下就行

#include<bits/stdc++.h>
using namespace std;
//#define int long long 
#define fp(i,a,b) for(int i=a;i<=b;++i)
const int N=1e6+10;
typedef double db;
typedef unsigned long long ULL;
int n,m,k;
const int pp=131;
ULL h[N];
ULL p[N];
string s;
ULL gets(int a,int b)
{return h[b]-h[a-1]*p[b-a+1];
}
map<ULL,int>ma;
map<ULL,int>last;
int main()
{cin>>n>>m>>k;cin>>s;s=" "+s;p[0]=1;for(int i=1;i<=n;i++){h[i]=h[i-1]*pp+s[i];p[i]=p[i-1]*pp;}for(int i=1;i<=n;i++){if(i>=m){ULL g=gets(i-m+1,i);if(!last.count(g)||last[g]<=i-m){ma[g]++;last[g]=i;}}}int sum=0;for(auto x:ma){if(x.second==k){sum++;}}cout<<sum<<"\n";return 0;
} 

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

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

相关文章

支撑位和阻力位在Renko和烛台图如何使用?FPmarkets澳福3秒回答

很多投资者都知道&#xff0c;Renko图表和普通日本烛台都会采用相同的交易信号&#xff0c;即支撑位和阻力位。那么支撑位和阻力位在Renko和烛台图如何使用?FPmarkets澳福3秒回答。 这些信号在任何时间框架上都会出现&#xff0c;且在蜡烛图交易中颇受欢迎。对于Renko图表而言…

《DATASET CONDENSATION WITH GRADIENT MATCHING》

本文提出了一种用于数据效率学习的训练集合成技术&#xff0c;称为“数据集凝聚”(Dataset)&#xff0c;它学习将大数据集压缩成一个小的信息合成样本集&#xff0c;用于从头开始训练深度神经网络。我们将这个目标表述为在原始数据和合成数据上训练的深度神经网络权值的梯度之间…

[Linux] 2.Linux开发环境的搭建(Ubuntu)

虚拟机&#xff1a;VMare安装、Ubuntu、VitualBox 真机&#xff1a;公司的研发服务器 Linux虚拟机安装所需文件&#xff1a; 网盘资源&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1WN-tizjHpOgNF0tjbvcZsA?pwd2itd 提取码&#xff1a;2itd 文件解压&#xff…

十四、流式编程(4)

本章概要 终端操作 数组循环集合组合匹配查找信息数字流信息 终端操作 以下操作将会获取流的最终结果。至此我们无法再继续往后传递流。可以说&#xff0c;终端操作&#xff08;Terminal Operations&#xff09;总是我们在流管道中所做的最后一件事。 数组 toArray()&…

火山引擎DataLeap推出两款大模型应用: 对话式检索与开发 打破代码语言屏障

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 自上世50年代&#xff0c;以“计算机”作为代表性象征的信息革命开始&#xff0c;社会对于先进生产力的认知便开始逐步更迭——从信息化&#xff08;通常认为是把企…

Coupang真的好做吗?韩国Coupang入驻流程——站斧浏览器

coupang真的好做吗&#xff1f; Coupang自开放全球注册以来&#xff0c;一直备受跨境电商各平台卖家的关注&#xff0c;那么作为一颗跨境电商的新星&#xff0c;真的值得做吗&#xff1f; 不到一年的关注度遭到如此众多的跨境卖家追捧的平台&#xff0c;火是有他的原因的&…

【办公类-16-06】20230901大班运动场地分配表-斜线排列、5天循环、不跳节日,手动修改节日”(python 排班表系列)

背景需求&#xff1a; 大班组长发来一个“运动排班”的需求表&#xff1a;“就是和去年一样的每个班的运动排班&#xff0c;就因为今年大班变成7个班&#xff0c;删掉一个场地&#xff0c;就要重新做一份&#xff0c;不然我就用去年的那份了&#xff08;8个大班排班&#xff0…

【内网穿透】在Ubuntu搭建Web小游戏网站,并将其发布到公网访问

目录 前言 1. 本地环境服务搭建 2. 局域网测试访问 3. 内网穿透 3.1 ubuntu本地安装cpolar 3.2 创建隧道 3.3 测试公网访问 4. 配置固定二级子域名 4.1 保留一个二级子域名 4.2 配置二级子域名 4.3 测试访问公网固定二级子域名 前言 网&#xff1a;我们通常说的是互…

solved: Could not load the Qt platform plugin “xcb“

传送门 1 export QT_QPA_PLATFORMoffscreen 或者 import os os.environ.pop("QT_QPA_PLATFORM_PLUGIN_PATH")2 pip uninstall opencv-python pip install opencv-python-headless

spark的数据扩展

会导致数据扩展的操作; 如何避免数据扩展; 一 countDistinct操作 1. 扩展原因 Spark的count distinct操作可能会导致数据扩展的原因是&#xff0c;它需要在执行操作之前对所有不同的值 进行分组。这意味着Spark需要将所有数据加载到内存中&#xff0c;并将其按照不同的值进行…

notepad++配合正则表达式分组模式处理文本转化为sql语句

一、正则分组知识点补充 正则分组和捕获 ()&#xff1a;用于分组和捕获子表达式。 大白话就是()匹配到的数据&#xff0c;通过美元符号加下标可以获取该数据&#xff0c;例如$1、$2, 下标从1开始。 下面的案例就采用该模式处理文本数据 二、使用正则的需求背景 有一份报表…

小米云原生文件存储平台化实践:支撑 AI 训练、大模型、容器平台多项业务

小米作为全球知名的科技巨头公司&#xff0c;已经在数百款产品中广泛应用了 AI 技术&#xff0c;这些产品包括手机、电视、智能音箱、儿童手表和翻译机等。这些 AI 应用主要都是通过小米的深度学习训练平台完成的。 在训练平台的存储方案中&#xff0c;小米曾尝试了多种不同的…

网络安全CTF比赛有哪些事?——《CTF那些事儿》告诉你

目录 前言 一、内容简介 二、读者对象 三、专家推荐 四、全书目录 前言 CTF比赛是快速提升网络安全实战技能的重要途径&#xff0c;已成为各个行业选拔网络安全人才的通用方法。但是&#xff0c;本书作者在从事CTF培训的过程中&#xff0c;发现存在几个突出的问题&#xff1…

pymysql执行insert插入操作

视频版教程 Python操作Mysql数据库之pymysql模块技术 执行修改操作&#xff0c;需要通过Connection对象调用commit()方法确认提交&#xff0c;或者 构造方法里面&#xff0c;autocommit设置True&#xff0c;自动提交 from pymysql import Connectioncon Nonetry:# 创建数据库…

C++中的静态库与动态库

文章目录 静态库构建静态库 动态库构建动态库 它们的不同参考文章 单独提这个 库&#xff0c;我想我们在coding过程中&#xff0c;可能也会知道一两个词&#xff0c;如 标准库、xx库等。库作为一组已编写好、组织好的、可复用的资源接口&#xff0c;可以被用于其他程序。很不…

Office Xml 2003转XLSX

一、使用到的依赖包 1、xelem-3.1.jar 下载地址&#xff1a;管网下载地址 2、poi-3.17.jar 下载地址&#xff1a;https://mvnrepository.com/artifact/org.apache.poi/poi 二、实现方法 1、Xml2003公式转XLSX公式算法 &#xff08;1&#xff09;Xml2003函数格式 SUM(R[-1…

Linux安装mysql数据库并实现主从搭建

一.环境说明 【环境说明】&#xff1a; 192.168.110.161 mysql-master ##网络配置到位&#xff0c;防火墙关闭&#xff0c;selinux关闭 192.168.110.162 mysql-slave ##网络配置到位&#xff0c;防火墙关闭&#xff0c;selinux关闭 两台主机&#xff0c;操作系统是centos7…

【Python入门教程】Python实现猜数字小游戏

今天跟大家分享一下很久之前自己做的一款猜数字小游戏&#xff0c;基本的循环判断语句即可实现&#xff0c;可以用来当练手或者消磨时间用。 大家在编代码的时候最重要就是先理清逻辑思路&#xff0c;例如应该套几层循环、分几个模块等等。然后在编码时可以先随意一点&#xff…

影响独立服务器稳定运行的因素

影响独立服务器稳定运行的因素 独立服务器的稳定对于网站和运行的程序来说都是最重要的因素&#xff0c;不只是简单的影响网站的速度&#xff0c;也影响搜索引擎对网站的优化。试想一下&#xff0c;客户在访问网站时&#xff0c;网页长时间打不开&#xff0c;页面崩溃会导致客户…

opencv图像像素类型转换与归一化

文章目录 opencv图像像素类型转换与归一化1、为什么对图像像素类型转换与归一化2、在OpenCV中&#xff0c;convertTo() 和 normalize() 是两个常用的图像处理函数&#xff0c;用于图像像素类型转换和归一化&#xff1b;&#xff08;1&#xff09;convertTo() 函数用于将一个 cv…